Skip to content

feat: add docker-publish reusable workflow - #61

Merged
JustMaris merged 1 commit into
mainfrom
feat/docker-publish
Oct 4, 2026
Merged

JustMaris merged 1 commit into
mainfrom
feat/docker-publish

Conversation

@JustMaris

Copy link
Copy Markdown
Member

Adds docker-publish.yml: builds a multi-arch image (amd64 + arm64 by default), pushes it to GHCR, and attests SLSA provenance next to it. It's a single job.

This replaces three identical copies of build.yml (github-actions-runner-exporter, pve-metrics-exporter, momentarr). With it, action pins and Dependabot bumps happen here once instead of in each repo.

It's meant for cross-compiling Dockerfiles (FROM --platform=$BUILDPLATFORM + GOARCH=$TARGETARCH), where arm64 doesn't go through QEMU. momentarr builds that way in ~1 min; the QEMU builds take ~5 min. Images that can't cross-compile should keep a native per-arch split like nordvpn's, so nordvpn isn't migrated.

  • Inputs:
    • image: defaults to ghcr.io/<owner>/<repo>, lowercased
    • context
    • platforms
    • tags: defaults to the callers' current rules (latest on main, long sha, semver)
    • runner
  • README section and CLAUDE.md table row added.
  • There's no self-test in ci.yml, since it would need to push to a registry (same as go-ci).
  • actionlint and zizmor (offline) are clean locally.

@JustMaris
JustMaris enabled auto-merge (squash) October 4, 2026 16:37
@JustMaris
JustMaris merged commit 2c4863a into main Oct 4, 2026
10 checks passed
@JustMaris
JustMaris deleted the feat/docker-publish branch October 4, 2026 16:37
@dnb-robot dnb-robot Bot mentioned this pull request Oct 4, 2026
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