1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-01-10 03:47:03 +02:00
goreleaser/docs/020-environment.md
Dominik Nakamura cc6dd458af feat: Configuration to use short git hashes (#581)
Add a git configuration to control to either use long commit hashes
(current default) or use the short version with only the first 7
characters of the hash.

See #578
2018-03-02 09:20:27 -03:00

2.0 KiB

title
Environment

GitHub Token

GoReleaser requires a GitHub API token with the repo scope selected to deploy the artifacts to GitHub. You can create one here.

This token should be added to the environment variables as GITHUB_TOKEN. Here is how to do it with Travis CI: Defining Variables in Repository Settings.

Alternatively, you can provide the GitHub token in a file. GoReleaser will check ~/.config/goreleaser/github_token by default, you can change that in the .goreleaser.yml file:

# .goreleaser.yml
env_files:
  github_token: ~/.path/to/my/token

GitHub Enterprise

You can use GoReleaser with GitHub Enterprise by providing its URLs in the .goreleaser.yml configuration file:

# .goreleaser.yml
github_urls:
    api: api.github.foo.bar
    upload: uploads.github.foo.bar
    download: github.foo.bar

If none are set, they default to GitHub's public URLs.

The dist folder

By default, GoReleaser will create its artifacts in the ./dist folder. If you must, you can change it by setting it in the .goreleaser.yml file:

# .goreleaser.yml
dist: another-folder-that-is-not-dist

Using the main.version

GoReleaser always sets a main.version ldflag. You can use it in your main.go file:

package main

var version = "master"

func main() {
  println(version)
}

version will be set to the current Git tag (the v prefix is stripped) or the name of the snapshot, if you're using the --snapshot flag.

You can override this by changing the ldflags option in the build section.

Customizing Git

By default, GoReleaser uses full length commit hashes when setting a main.commit ldflag or creating filenames in --snapshot mode.

You can use short, 7 character long commit hashes by setting it in the .goreleaser.yml:

# .goreleaser.yml
git:
  short_hash: true