Repository navigation
chore: release-please and shared release workflows - #35
Merged
Merged
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
gusfcarvalho
approved these changes
Oct 13, 2026
gusfcarvalho
left a comment
There was a problem hiding this comment.
Checked: release-please seed, shared release callers pinned to workflows v1.5.2, ci / required green. Batch 1 repo settings are applied.
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.
Why
The plugin joins the release flow: release-please opens release PRs, and the shared
release-go-plugin.ymlpublishes a release when it's published, instead of a goreleaser run on any pushed tag.Default branch:
main. The base of this PR ismain, and everypush: branches:trigger here uses[main]. The shared workflows called here read the default branch from the event or the API, so nothing in them assumes a branch name.What changes
release-please-config.json: the shared defaults from workflowsrelease-please/defaults.jsonat v1.5.2 (no drift), withpackages: {".": {"release-type": "go"}}..release-please-manifest.json: seeded at0.4.0, the latest final release (v0.4.0, an ancestor ofmain). The first release PR should propose0.4.1(onefix(deps)commit since, fix(deps): bump compliance-framework/agent to v0.9.1 #32).6e7fc9c):release-please.yml(push tomain),release.yml(release: published,protocol-version: "2"),preview.yml(kind: go-plugin,on-main: false, so only thepreviewlabel publishes:pr-<n>) andcut-prerelease.yml(workflow_dispatch, rc tagsvX.Y.Z-rcN).ci.yml: pins moved from v1.5.1 to v1.5.2. It already callsrelease-checks.yml..goreleaser.yaml: addsrelease: {prerelease: auto, replace_existing_artifacts: true}. The shared job refuses to run withoutprerelease: autoand warns withoutreplace_existing_artifacts. Builds (binary: plugin, linux and darwin) and archives are unchanged.Deleted
.github/workflows/build-and-upload.yml: reusable job that ran goreleaser and uploadeddist/with gooci to:<tag>and:latest..github/workflows/release.yml(old content, replaced by the new caller of the same name): on any tag push, calledbuild-and-upload.yml.Published artifacts: old vs new
release: published)*)cut-prerelease(tags arevX.Y.Z/vX.Y.Z-rcN)README.md,plugin; the repo has no LICENSE), since the builds and archives config is unchanged:<tag>and:latest:vX.Y.Z, plus:latestonly for a final taglatestwas gated ongithub.event.release.prerelease, which is empty on a tag push, so an rc tag (e.g. the oldv0.2.0-rc) also movedlatest:vX.Y.Z-rcN;latestis untouchedlatestdigestv0.4.0andlatestare different digests today)crane tagpointslatestat thevX.Y.Zmanifest: one digestgooci upload --annotate=org.ccf.plugin.protocol.version=2 dist/~> v2, gooci@latestOne visible difference: the
latestindex'sorg.opencontainers.image.ref.name/org.opencontainers.image.versionannotations will readvX.Y.Zinstead oflatest, becauselatestis now the same manifest as the version tag. The published:v0.4.0index today carriesorg.ccf.plugin.protocol.version=2and the platforms linux/386, linux/amd64, linux/arm64, darwin/amd64, darwin/arm64, which the snapshot reproduces.Verified locally
go run github.com/rhysd/actionlint/cmd/actionlint@v1.7.12: clean.go build ./...andgo test ./...: pass.goreleaser checkandgoreleaser release --snapshot --clean(v2.16.0):dist/hasplugin-local-ssh_{Darwin_arm64,Darwin_x86_64,Linux_arm64,Linux_i386,Linux_x86_64}.tar.gz(eachREADME.md,plugin) and a checksums file, the same asset names as thev0.4.0release.release-please-config.jsoncompared with workflowsrelease-please/defaults.jsonat v1.5.2: no differing keys.The README's "Releases" section names goreleaser and the releases and packages pages; it doesn't mention tag pushes or the old workflows, so it is unchanged here.
This PR stays open until the batch's repo settings are applied (the
releaseenvironment holds the ccf-release-bot secrets release-please needs).Task: W3-S2-T01 (local-dev/docs/release-automation/workstream-3-plugins-in-train.md)
🤖 Generated with Claude Code