Releasing
The release process of Task is done with the help of GoReleaser.
You can test the release process locally by calling the test-release
task of
the Taskfile.
GitHub Actions should release
artifacts automatically when a new Git tag is pushed to main
branch (raw
executables and DEB and RPM packages).
Since v3.15.0, raw executables can also be reproduced and verified locally by
checking out a specific tag and calling goreleaser build
, using the Go version
defined in the above GitHub Actions.
Homebrew
Goreleaser will automatically push a new commit to the Formula/go-task.rb file in the Homebrew tap repository to release the new version.
npm
To release to npm update the version in the package.json
file
and then run task npm:publish
to push it.
Snapcraft
The snap package requires to manual steps to release a new version:
- Updating the current version on snapcraft.yaml.
- Moving both
amd64
,armhf
andarm64
new artifacts to the stable channel on the Snapcraft dashboard.
winget
winget also requires manual steps to be completed. By running
task goreleaser:test
locally, manifest files will be generated on
dist/winget/manifests/t/Task/Task/v{version}
.
Upload the manifest directory into this fork
and open a pull request into
this repository.
Scoop
Scoop is a command-line package manager for the Windows operating system. Scoop package manifests are maintained by the community. Scoop owners usually take care of updating versions there by editing this file. If you think its Task version is outdated, open an issue to let us know.
Nix
Nix is a community owned installation method. Nix package maintainers usually take care of updating versions there by editing this file. If you think its Task version is outdated, open an issue to let us know.