mirror of
https://github.com/go-task/task.git
synced 2026-08-29 01:58:56 +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
|
||||
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
|
||||
run: go run ./cmd/release --notes > "${RUNNER_TEMP}/release-notes.md"
|
||||
|
||||
@@ -62,6 +66,7 @@ jobs:
|
||||
CLOUDSMITH_TOKEN: ${{secrets.CLOUDSMITH_TOKEN}}
|
||||
DISCORD_WEBHOOK_ID: ${{secrets.DISCORD_WEBHOOK_ID}}
|
||||
DISCORD_WEBHOOK_TOKEN: ${{secrets.DISCORD_WEBHOOK_TOKEN}}
|
||||
SNAPCRAFT_STORE_CREDENTIALS: ${{secrets.SNAPCRAFT_STORE_CREDENTIALS}}
|
||||
|
||||
- name: Deploy Website
|
||||
shell: bash
|
||||
|
||||
@@ -82,6 +82,24 @@ nfpms:
|
||||
- src: completion/nu/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:
|
||||
- name: go-task
|
||||
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}}"
|
||||
COMPLETE_MESSAGE: |
|
||||
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:
|
||||
- sh: test $(git rev-parse --abbrev-ref HEAD) = "main"
|
||||
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)
|
||||
* Homebrew
|
||||
* npm
|
||||
* Snapcraft
|
||||
* 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
|
||||
[Discord server](https://discord.gg/6TY36E39UK). Nightly releases are not
|
||||
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)
|
||||
|
||||
[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