docs: update releasing guide

We have now more package managers being released automatically by
GoReleaser. Only Snapcraft still require manual steps.
This commit is contained in:
Andrey Nering
2026-03-07 19:42:03 -03:00
parent a0d9750edf
commit 962eada344

View File

@@ -16,59 +16,32 @@ the Taskfile.
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
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
## Package managers
Goreleaser will automatically push a new commit to the
[Formula/go-task.rb][gotaskrb] file in the [Homebrew tap][homebrewtap]
repository to release the new version.
GoReleaser will automatically publish the release to most package managers:
## npm
* Cloudsmith (DEB and RPM repositories)
* Homebrew
* npm
* winget
To release to npm update the version in the [`package.json`][packagejson] file
and then run `task npm:publish` to push it.
A single package manager still require manual steps:
## Snapcraft
* Snapcraft:
* Update the `version:` field on [snapcraft.yaml][snapcraftyaml]
<!-- * Trigger a new build on [Snapcraft -> Builds][snapcraftbuilds] -->
* Once finished, move the new build to "stable" on [Snapcraft -> Releases][snapcraftreleases]
The [snap package][snappackage] requires to manual steps to release a new
version:
These package managers are updated automatically by the community:
- Updating the current version on [snapcraft.yaml][snapcraftyaml].
- Moving both `amd64`, `armhf` and `arm64` new artifacts to the stable channel
on the [Snapcraft dashboard][snapcraftdashboard].
## 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](https://github.com/go-task/winget-pkgs/tree/master/manifests/t/Task/Task)
and open a pull request into
[this repository](https://github.com/microsoft/winget-pkgs).
## 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](https://github.com/ScoopInstaller/Main/blob/master/bucket/task.json).
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](https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/go/go-task/package.nix).
If you think its Task version is outdated, open an issue to let us know.
* [Scoop](https://github.com/ScoopInstaller/Main/blob/master/bucket/task.json)
* [Nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/go/go-task/package.nix)
[goreleaser]: https://goreleaser.com/
[homebrewtap]: https://github.com/go-task/homebrew-tap
[gotaskrb]: https://github.com/go-task/homebrew-tap/blob/main/Formula/go-task.rb
[packagejson]: https://github.com/go-task/task/blob/main/package.json#L3
[snappackage]: https://github.com/go-task/snap
[snapcraftyaml]:
https://github.com/go-task/snap/blob/main/snap/snapcraft.yaml#L2
[snapcraftdashboard]: https://snapcraft.io/task/releases
[snapcraftyaml]: https://github.com/go-task/snap/blob/main/snap/snapcraft.yaml#L2
[snapcraftbuilds]: https://snapcraft.io/task/builds
[snapcraftreleases]: https://snapcraft.io/task/releases