Skip to content

feat(release): harden template delivery workflows - #18

Open
mwaldheim wants to merge 4 commits into
mainfrom
copilot/production-readiness-2026-07-24
Open

feat(release): harden template delivery workflows#18
mwaldheim wants to merge 4 commits into
mainfrom
copilot/production-readiness-2026-07-24

Conversation

@mwaldheim

@mwaldheim mwaldheim commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • harden template CI, security, sync, tag orchestration, and release inputs with immutable action pins and strict SemVer/environment handling
  • build each OCI platform once, scan the immutable OCI layout, then promote only scanned digests and reconcile mutable tags safely
  • add publisher-docker to the 43-repository template-sync inventory

Validation

  • actionlint -no-color
  • golangci-lint run ./...
  • go test ./...
  • go build ./cmd/plugin
  • 43-repository scripts/verify-release-workflows.ps1
  • CI build/test/lint/scan, actionlint, dependency review, and REUSE gates

Linux/Docker runtime caveat

Local validation ran on Windows without a Docker daemon. Linux shell and Docker build/scan/promotion paths remain covered by CI.

Pin release and validation actions, validate immutable OCI promotion, fix registry dispatch authentication, keep template sync DCO-compliant, and remove the unsupported setup-go prerelease input.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Markus Waldheim <mawa@if.de>
@mwaldheim
mwaldheim force-pushed the copilot/production-readiness-2026-07-24 branch from 16226f0 to 438d7db Compare August 3, 2026 10:47
mwaldheim and others added 2 commits August 3, 2026 13:01
Reuse an existing immutable exact image after verifying its revision, version, and platform digests, and let GitHub select the Latest release to prevent older manual reruns from downgrading it.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Markus Waldheim <mawa@if.de>
Use the validation repository and architecture tag embedded in each OCI layout during resolve and copy operations, and enforce that reference shape in the workflow verifier.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Markus Waldheim <mawa@if.de>
Comment thread scripts/verify-release-workflow.py
The release workflow must invoke semrel with --version; the version subcommand does not exist and blocks every template-derived release.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Markus Waldheim <mawa@if.de>
@mwaldheim

Copy link
Copy Markdown
Contributor Author

Addressed the workflow issue behind the recent main failures in 9e32f48: the template release workflow invoked the unsupported semrel version subcommand; it now uses semrel --version. The Python verifier is intentionally template-only because it guards the template’s unique immutable OCI promotion/retry workflow; generated plugin workflows do not contain that Docker promotion logic. I also added this fix to the same PR so it can propagate with the template change.

@mwaldheim
mwaldheim requested a review from tboerger August 10, 2026 08:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants