chore(release): plugin-version discipline (workflow#758)#165
Merged
Conversation
- Delete .github/workflows/sync-plugin-version.yml (sync mechanism retired; goreleaser before-hook + binary ldflag carry release-tag truth) - plugin.json.version → "0.0.0" (sentinel; flat M.m.p parses through PluginManifest.ParseSemver without prerelease) - plugin.json.minEngineVersion → 0.61.0 (requires sdk.ResolveBuildVersion + IaCServeOptions.BuildVersion landed in workflow v0.61.0) - cmd/plugin/main.go: pass sdk.ResolveBuildVersion(internal.Version) to IaCServeOptions.BuildVersion; binary's runtime version surfaces via GetManifest RPC even when committed plugin.json shows the sentinel - release.yml: pre-build wfctl plugin validate-contract --for-publish + post-build --release-dir verification; setup-wfctl pinned to v0.61.0 - Bump workflow pin v0.60.7 → v0.61.0 - Retire TestSyncPluginVersionWorkflowUpdatesDownloads (workflow gone) + TestPluginDownloadsMatchGoReleaserArchives (downloads URLs no longer tracked against committed sentinel; tarball-shipped URLs verified via --release-dir gate at release time); replaced by TestPluginGoReleaserArchiveShape which asserts the archive structural invariants without the version cross-check Rollback: revert PR; restores prior sync mechanism + workflow pin.
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.
Summary
Per workflow#758 Layer 3 pilot — first of 5 plugin migrations validating the canonical template.
.github/workflows/sync-plugin-version.yml— sync mechanism retired; goreleaser before-hook + binary ldflag carry the release-tag truth.plugin.json.version→"0.0.0"sentinel (flat M.m.p, ParseSemver-compatible; cycle 4-A1 verified).plugin.json.minEngineVersion→0.61.0(requiressdk.ResolveBuildVersion+IaCServeOptions.BuildVersionfrom workflow v0.61.0).cmd/plugin/main.go: passessdk.ResolveBuildVersion(internal.Version)toIaCServeOptions.BuildVersion. Binary's runtime version surfaces via GetManifest RPC even when committed plugin.json shows the sentinel.release.yml: pre-buildwfctl plugin validate-contract --for-publish+ post-build--release-dirverification;setup-wfctlpinned tov0.61.0.v0.60.7 → v0.61.0.TestSyncPluginVersionWorkflowUpdatesDownloads(workflow gone) +TestPluginDownloadsMatchGoReleaserArchives(downloads URLs no longer tracked against committed sentinel; tarball URLs verified via--release-dirgate at release time). Replaced byTestPluginGoReleaserArchiveShapewhich asserts archive structural invariants without the version cross-check.Test plan
GOWORK=off go build ./...— greenGOWORK=off go test ./... -count=1— all greenwfctl plugin validate-contract .— PASSwfctl plugin validate-contract --for-publish --tag v2.0.16 .— PASSOut of scope
Rollback
Revert PR. Restores sync workflow + workflow pin + version string. Pure-additive forward; revert is clean.
🤖 Generated with Claude Code