Add Gitea Actions image-build workflow #2

Merged
kacerr merged 4 commits from feat/gitea-build-workflow into main 2026-08-11 19:47:42 +02:00
Owner

Distilled from the image-build workflows across the other projects on this Gitea instance, plus a few improvements none of them combine:

  • Triggers: any tag push, or manual workflow_dispatch with a tag input (house convention — no builds from main).
  • Lightweight test gate before the build: go vet / go build / go test -short (verified passing locally on this exact tree).
  • Pushes gitea.home.hrajfrisbee.cz/kacerr/egress-proxies-operator:<tag> plus an immutable sha-<12> tag on every build.
  • :latest moves only on real tag pushes — a manual dispatch of an old ref can't clobber it.
  • GIT_COMMIT build arg wired to the Dockerfile so internal/version.Commit and the OCI revision label get the real commit.
  • concurrency group cancels superseded runs of the same ref.

Also replaces the CLAUDE.md CI TODO with a CI/CD subsection, and includes the plan + execution notes in docs/.

Prerequisite before first run: create the REGISTRY_TOKEN secret in this repo (Settings → Actions → Secrets) — a Gitea PAT with write:package, same as the other projects.

Suggested verification after merge: manual dispatch with tag manual-test → expect manual-test + sha-… in Packages and :latest untouched; then a real v0.1.0 tag → expect all three tags.

Distilled from the image-build workflows across the other projects on this Gitea instance, plus a few improvements none of them combine: - Triggers: any tag push, or manual workflow_dispatch with a `tag` input (house convention — no builds from main). - Lightweight test gate before the build: `go vet` / `go build` / `go test -short` (verified passing locally on this exact tree). - Pushes `gitea.home.hrajfrisbee.cz/kacerr/egress-proxies-operator:<tag>` **plus an immutable `sha-<12>` tag** on every build. - `:latest` moves **only on real tag pushes** — a manual dispatch of an old ref can't clobber it. - `GIT_COMMIT` build arg wired to the Dockerfile so `internal/version.Commit` and the OCI revision label get the real commit. - `concurrency` group cancels superseded runs of the same ref. Also replaces the CLAUDE.md CI TODO with a CI/CD subsection, and includes the plan + execution notes in `docs/`. **Prerequisite before first run:** create the `REGISTRY_TOKEN` secret in this repo (Settings → Actions → Secrets) — a Gitea PAT with `write:package`, same as the other projects. **Suggested verification after merge:** manual dispatch with tag `manual-test` → expect `manual-test` + `sha-…` in Packages and `:latest` untouched; then a real `v0.1.0` tag → expect all three tags.
kacerr added 2 commits 2026-08-11 19:41:24 +02:00
Co-Authored-By: Claude <noreply@anthropic.com>
Distilled from the house pattern across sibling projects: tag push +
workflow_dispatch triggers, REGISTRY_TOKEN login, raw docker build/push
to gitea.home.hrajfrisbee.cz. Adds a lightweight test gate, an immutable
sha-<12> tag, :latest only on real tag pushes, and a concurrency group.

Co-Authored-By: Claude <noreply@anthropic.com>
kacerr added 1 commit 2026-08-11 19:41:59 +02:00
kacerr added 1 commit 2026-08-11 19:46:59 +02:00
kacerr merged commit d2c317344e into main 2026-08-11 19:47:42 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kacerr/egress-proxies-operator#2