Repository navigation
ci: migrate goreleaser to v2 and add tag-triggered release workflow - #898
Merged
Merged
Conversation
goreleaser 2.x requires `version: 2`; the previous config was the legacy (v0) schema and failed with 'only version: 2 configuration files are supported'. Config migration: - add `version: 2` - replace the removed archive `replacements` with a name_template that keeps the darwin->macOS naming (ffuf_x.y.z_macOS_arm64.tar.gz, etc.) - drop the GOPATH-templated asmflags/gcflags; -trimpath already trims build paths and GOPATH isn't set in CI - switch checksum signing to a batch GPG invocation driven by GPG_FINGERPRINT, matching the CI import-gpg step - ignore windows/arm, which modern Go no longer supports (drops the windows_armv6 archive; all other targets unchanged) Add .github/workflows/release.yml (modeled on acme-dns): on a v* tag push, import the GPG key and run 'goreleaser release --clean' so signed cross-platform archives are built in CI. Requires repo secrets GPG_PRIVATE_KEY and GPG_PASSPHRASE.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Migrates
.goreleaser.ymlto the v2 schema (fixes theonly version: 2 configuration files are supportederror from goreleaser 2.x) and adds.github/workflows/release.ymlso signed cross-platform archives are built in CI on av*tag push, instead of locally.Config changes
version: 2.replacementswith aname_templatethat keeps thedarwin->macOSnaming (e.g.ffuf_2.2.0_macOS_arm64.tar.gz,ffuf_2.2.0_linux_armv6.tar.gz).asmflags/gcflags;-trimpathalready trims build paths andGOPATHisn't set in CI.GPG_FINGERPRINT, matching the CI import-gpg step.windows/arm, which modern Go no longer supports (drops thewindows_armv6archive; all other targets unchanged).Workflow
.github/workflows/release.yml(modeled on acme-dns): on av*tag push, import the GPG key and rungoreleaser release --clean. Requires repo secretsGPG_PRIVATE_KEYandGPG_PASSPHRASE.Validated locally:
goreleaser checkpasses and a full snapshot build produces all 16 archives with correct names.