1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-01-10 03:47:03 +02:00
goreleaser/www/docs/customization/nightlies.md
Randy Fay 176336f264
docs: miscellaneous usage and wording improvements (#3152)
* Make sure to do required go mod init before continuing or goreleaser command fails.

* how the release might look like -> what the release might look like

* How does it look like -> What does it look like

* you must therefore -> you must

* Don't use GO111MODULES in example since it's so obsolete

* modules -> verifiable builds

* got you covered -> has you covered
2022-06-10 23:04:16 -03:00

1.8 KiB

Nightlies

!!! success "GoReleaser Pro" The nightly build feature is a GoReleaser Pro feature.

Whether if you need beta builds or a rolling-release system, the nightly builds feature will do it for you.

To enable it, you must use the --nightly flag in the goreleaser release command.

You also have some customization options available:

# .goreleaser.yml
nightly:
  # Allows you to change the version of the generated nightly release.
  #
  # Note that some pipes require this to be semantic version compliant (nfpm, for example).
  #
  # Default is `{{ incpatch .Version }}-{{ .ShortCommit }}-dev`.
  name_template: '{{ incpatch .Version }}-devel'

How it works

When you run GoReleaser with --nightly, it will set the Version template variable to the evaluation of nightly.name_template. This means that if you use {{ .Version }} on your name templates, you'll get the nightly version.

!!! tip Learn more about the name template engine.

What is skipped when using --nightly?

  • Go mod proxying;
  • GitHub/GitLab/Gitea releases;
  • Homebrew taps;
  • Scoop manifests;
  • Arch User Repositories;
  • GoFish Rigs;
  • Krew Plugin Manifests;
  • Milestone closing;
  • All announcers;

Everything else is executed normally. Just make sure to use the Version template variable instead of Tag. You can also check if its a nightly build inside a template with:

{{ if .IsNightly }}something{{ else }}something else{{ end }}

!!! info "Maybe you are looking for something else?" - If just want to build the binaries, and no packages at all, check the goreleaser build command; - If you actually want to create a local "snapshot" build, check out the snapshots documentation.