mirror of
https://github.com/go-task/task.git
synced 2026-08-29 10:08:27 +02:00
feat(release): publish the snap package with goreleaser (#2989)
This commit is contained in:
5
.github/workflows/release.yml
vendored
5
.github/workflows/release.yml
vendored
@@ -46,6 +46,10 @@ jobs:
|
|||||||
run: pnpm install
|
run: pnpm install
|
||||||
working-directory: website
|
working-directory: website
|
||||||
|
|
||||||
|
# GoReleaser builds the snap packages but does not install snapcraft.
|
||||||
|
- name: Install snapcraft
|
||||||
|
run: sudo snap install snapcraft --classic
|
||||||
|
|
||||||
- name: Generate release notes
|
- name: Generate release notes
|
||||||
run: go run ./cmd/release --notes > "${RUNNER_TEMP}/release-notes.md"
|
run: go run ./cmd/release --notes > "${RUNNER_TEMP}/release-notes.md"
|
||||||
|
|
||||||
@@ -62,6 +66,7 @@ jobs:
|
|||||||
CLOUDSMITH_TOKEN: ${{secrets.CLOUDSMITH_TOKEN}}
|
CLOUDSMITH_TOKEN: ${{secrets.CLOUDSMITH_TOKEN}}
|
||||||
DISCORD_WEBHOOK_ID: ${{secrets.DISCORD_WEBHOOK_ID}}
|
DISCORD_WEBHOOK_ID: ${{secrets.DISCORD_WEBHOOK_ID}}
|
||||||
DISCORD_WEBHOOK_TOKEN: ${{secrets.DISCORD_WEBHOOK_TOKEN}}
|
DISCORD_WEBHOOK_TOKEN: ${{secrets.DISCORD_WEBHOOK_TOKEN}}
|
||||||
|
SNAPCRAFT_STORE_CREDENTIALS: ${{secrets.SNAPCRAFT_STORE_CREDENTIALS}}
|
||||||
|
|
||||||
- name: Deploy Website
|
- name: Deploy Website
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|||||||
@@ -82,6 +82,24 @@ nfpms:
|
|||||||
- src: completion/nu/task-completions.nu
|
- src: completion/nu/task-completions.nu
|
||||||
dst: /usr/share/nushell/vendor/autoload/task-completions.nu
|
dst: /usr/share/nushell/vendor/autoload/task-completions.nu
|
||||||
|
|
||||||
|
snapcrafts:
|
||||||
|
- name: task
|
||||||
|
title: Task
|
||||||
|
summary: A task runner / simpler Make alternative written in Go
|
||||||
|
description: |
|
||||||
|
Task is a simple tool that allows you to easily run development and build
|
||||||
|
tasks. Task is written in Golang, but can be used to develop any language.
|
||||||
|
It aims to be simpler and easier to use then GNU Make.
|
||||||
|
license: MIT
|
||||||
|
base: bare
|
||||||
|
grade: stable
|
||||||
|
confinement: classic
|
||||||
|
publish: true
|
||||||
|
disable: '{{ .IsNightly }}'
|
||||||
|
apps:
|
||||||
|
task:
|
||||||
|
command: task
|
||||||
|
|
||||||
homebrew_casks:
|
homebrew_casks:
|
||||||
- name: go-task
|
- name: go-task
|
||||||
description: A fast, cross-platform build tool inspired by Make, designed for modern workflows.
|
description: A fast, cross-platform build tool inspired by Make, designed for modern workflows.
|
||||||
|
|||||||
@@ -214,10 +214,6 @@ tasks:
|
|||||||
sh: "go run ./cmd/release --version {{index .MATCH 0}}"
|
sh: "go run ./cmd/release --version {{index .MATCH 0}}"
|
||||||
COMPLETE_MESSAGE: |
|
COMPLETE_MESSAGE: |
|
||||||
Creating release with GoReleaser: https://github.com/go-task/task/actions/workflows/release.yml
|
Creating release with GoReleaser: https://github.com/go-task/task/actions/workflows/release.yml
|
||||||
|
|
||||||
Please wait for the CI to finish and then do the following:
|
|
||||||
|
|
||||||
- Update and push the snapcraft manifest in https://github.com/go-task/snap/blob/main/snap/snapcraft.yaml
|
|
||||||
preconditions:
|
preconditions:
|
||||||
- sh: test $(git rev-parse --abbrev-ref HEAD) = "main"
|
- sh: test $(git rev-parse --abbrev-ref HEAD) = "main"
|
||||||
msg: "You must be on the main branch to release"
|
msg: "You must be on the main branch to release"
|
||||||
|
|||||||
@@ -47,15 +47,9 @@ GoReleaser will automatically publish the release to most package managers:
|
|||||||
* Cloudsmith (DEB and RPM repositories)
|
* Cloudsmith (DEB and RPM repositories)
|
||||||
* Homebrew
|
* Homebrew
|
||||||
* npm
|
* npm
|
||||||
|
* Snapcraft
|
||||||
* winget
|
* winget
|
||||||
|
|
||||||
A single package manager still require manual steps:
|
|
||||||
|
|
||||||
* 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]
|
|
||||||
|
|
||||||
Once the release is published, GoReleaser announces it on the
|
Once the release is published, GoReleaser announces it on the
|
||||||
[Discord server](https://discord.gg/6TY36E39UK). Nightly releases are not
|
[Discord server](https://discord.gg/6TY36E39UK). Nightly releases are not
|
||||||
announced.
|
announced.
|
||||||
@@ -66,6 +60,3 @@ These package managers are updated automatically by the community:
|
|||||||
* [Nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/go/go-task/package.nix)
|
* [Nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/go/go-task/package.nix)
|
||||||
|
|
||||||
[goreleaser]: https://goreleaser.com/
|
[goreleaser]: https://goreleaser.com/
|
||||||
[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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user