Skip to main content

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:

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.