Skip to content

Add reusable publish workflow (build, publish, sign) - #1

Merged
DeviaVir merged 1 commit into
mainfrom
add-publish-workflow
Oct 29, 2026
Merged

DeviaVir merged 1 commit into
mainfrom
add-publish-workflow

Conversation

@DeviaVir

@DeviaVir DeviaVir commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Adds .github/workflows/publish.yml, a reusable workflow that builds a container image, publishes it and signs it.

  • build: checks out the caller at the triggering commit and builds an OCI archive. It has no OIDC token and no registry credentials. It runs in <environment>-build.
  • publish: runs no caller code. It pushes only the OCI data from build with crane, through workload identity federation, and signs the digest with keyless cosign. It runs in <environment>.
  • Each caller passes its own workload-identity-provider, service-account and image. The workflow sets no identity of its own.
  • Tags: <sha>-<UTC timestamp>, with a prod- prefix for production.

Also: CODEOWNERS, Dependabot for actions, and actionlint + zizmor on PRs.

Versions: callers pin @v1. A release is a PR from main into v1, plus a v1.x.y tag (see README).

Two jobs: build runs the caller's Dockerfile without credentials; publish
runs no caller code, pushes only the OCI data and signs the digest with
keyless cosign. Each caller passes its own workload identity provider,
service account and image; the workflow sets no identity.

Also: CODEOWNERS, Dependabot for actions, actionlint + zizmor on PRs.
@DeviaVir
DeviaVir merged commit 54bdad1 into main Oct 29, 2026
1 check passed
@DeviaVir
DeviaVir deleted the add-publish-workflow branch October 29, 2026 14:25
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.

1 participant