Open suzuki-shunsuke opened 1 month ago
https://github.com/aquaproj/aqua/blob/main/.goreleaser.yml
Maybe we can build assets by goreleaser build
and release them by goreleaser release
in another job.
Build:
--skip strings Skip the given options (valid options are: before, post-hooks, pre-hooks, validate)
Release:
--skip strings Skip the given options (valid options are announce, archive, aur, before, chocolatey, docker, homebrew, ko, nfpm, nix, notarize, publish, sbom, scoop, sign, snapcraft, validate, winget)
--snapshot Generate an unversioned snapshot release, skipping all validations and without publishing any artifacts (implies --skip=announce,publish,validate)
Separating build and sign and release may be a feature of GoReleaser Pro.
Now this workflow builds and releases assets using GoReleaser in the same job. But in terms of security, and to meet SLSA Level 3, we should separate build and release jobs.
One of concerns is releases to Winget and Homebrew. I'm not sure if I can implement them without GoReleaser by myself.