7 Commits

Author SHA1 Message Date
igodwin ddcbc04b71 ci: advance floating minor tag (vX.Y) on real releases
Build and Publish Container / build-and-publish (push) Successful in 2m34s
CI / Lint (push) Successful in 2m42s
CI / Vulnerability scan (push) Successful in 42s
CI / Test (push) Successful in 1m45s
Publishes an additional floating vX.Y tag alongside the immutable vX.Y.Z
so `docker pull ...:vX.Y` fetches the newest patch. Skipped on --rebuild
of an older version so the float never rolls backward. Deploys still pin
vX.Y.Z; the cleanup reaper only targets three-part semver, so the float
is never eligible for deletion.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 10:41:54 -07:00
igodwin eda033ff9b fix: clear golangci-lint backlog and make lint job blocking
CI / Lint (push) Successful in 2m29s
Build and Publish Container / build-and-publish (push) Successful in 2m58s
CI / Vulnerability scan (push) Successful in 44s
CI / Test (push) Successful in 1m45s
Addresses errcheck, gosec, revive, staticcheck, and unused findings
across the codebase (unchecked error returns, unsafe file inclusion
warnings on operator/test-controlled paths, missing package comments,
unused parameters, deprecated API usage). Also fixes two suppression
comments that were silently no-ops due to wrong syntax (#nosec needs
a leading '#', nolint reasons need '//' not '--').

With the backlog clear, drop continue-on-error from the CI lint job
per the plan left in b4b4806.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-18 10:32:51 -07:00
igodwin d63a440f63 ci: install golangci-lint via go install (sumdb-verified)
CI / Test (push) Successful in 1m52s
CI / Vulnerability scan (push) Successful in 43s
Build and Publish Container / build-and-publish (push) Successful in 2m46s
CI / Lint (push) Failing after 2m27s
The official install.sh tarball download hit sha256 checksum mismatches
on the self-hosted runner; the module proxy path is verifiable and
reproducible.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 09:51:26 -07:00
igodwin f38a2a689c ci: drop Node-based actions; run natively on the self-hosted runner
Build and Publish Container / build-and-publish (push) Failing after 1s
CI / Vulnerability scan (push) Successful in 38s
CI / Test (push) Has been cancelled
CI / Lint (push) Failing after 28s
actions/checkout and actions/setup-go are JavaScript actions and fail on
the runner's node-less job containers (Cannot find: node in PATH). All
jobs now run plain shell steps in a golang:1.25-alpine container: fetch
by sha, apk deps, pinned protoc plugins, then lint/test/govulncheck.
The generate-proto composite action is inlined and removed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 09:49:36 -07:00
igodwin ba4133bf5d ci: build and publish multi-arch images with auto patch versioning
Build and Publish Container / build-and-publish (push) Failing after 2s
CI / Vulnerability scan (push) Failing after 2s
CI / Lint (push) Failing after 1s
CI / Test (push) Failing after 1s
Push to main mints the next vX.Y.Z patch tag, builds and pushes a
multi-arch image to the registry, and tags the repo. A manual
bump-version workflow handles minor/major bumps.

This workflow deliberately holds no deployment-repo credentials: the
repo is public, so the GitOps side polls the registry and pulls new
tags itself rather than being pushed to from here.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 09:29:10 -07:00
igodwin b4b48067cc ci: make lint and vuln jobs advisory until pre-existing backlog clears
CI / Lint (push) Failing after 24s
CI / Vulnerability scan (push) Failing after 1s
CI / Test (push) Failing after 24s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 09:17:35 -07:00
igodwin 315027ab0d ci: add Gitea Actions pipeline, golangci-lint config, vuln target
- .gitea/workflows/ci.yml: lint, race tests (e2e excluded), and
  govulncheck on push to main and PRs; shared composite action installs
  protoc + pinned protoc-gen-go/protoc-gen-go-grpc and generates the
  (gitignored) protobuf code before each Go job.
- .golangci.yml (v2 schema): govet, staticcheck, errcheck, ineffassign,
  unused, misspell, gosec, revive; generated api/grpc/pb excluded.
- Makefile: vuln target (govulncheck) added and chained into qa.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 09:16:12 -07:00