ci: publish through the orb's stock jobs with decoupled versions - #48
Merged
Merged
Conversation
The six images are one architect/push-to-registries job each, built from .circleci/Dockerfile (ko's result: the component at /ko-app/<name> on the distroless base, CGO_ENABLED=0 -trimpath from the vendored modules) for linux/amd64 and linux/arm64, signed, with provenance and SBOM, annotated with the upstream pin. The version is the orb's, from the git tags: a release tag vX.Y.Z publishes X.Y.Z, 1.0.0 first; a push to giantswarm a dev build; other branches build with push: false. scan runs Trivy from its image on the remote engine and records image-refs.txt; charts reads .build_version. The sync workflow derives the pin from the stable tags upstream also has. FORK.md states the scheme. Signed-off-by: Timo Derstappen <teemow@gmail.com>
teemow
force-pushed
the
fork/orb-stock-jobs
branch
from
September 19, 2026 08:07
cd42420 to
461fc2d
Compare
… on gsoci images.agentgateway and the agentgateway-image pipeline parameter move from the retagger mirror gsoci.azurecr.io/giantswarm/agentgateway:v1.5.1-gs.4 to the line's own gsoci path, gsoci.azurecr.io/giantswarm/agentgateway-upstream/ agentgateway:2.0.0 (index sha256:63deaa67…, amd64 + arm64, signed; the same upstream build, main@c1d24607). The chart test asserts the new path and a stable version; FORK.md records the pin and the digest. Signed-off-by: Timo Derstappen <teemow@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The line's six images are published by the architect orb's
push-to-registriesjob, one job per component, built from a fork-owned.circleci/Dockerfilethat reproduces ko's image —./cmd/<component>compiled withCGO_ENABLED=0and-trimpathfrom the vendored modules, at/ko-app/<component>on the distroless base.ko.yamlpins,/ko-apponPATH, the binary the ENTRYPOINT — for linux/amd64 and linux/arm64: signed, with provenance and an SPDX SBOM, the index annotatedio.giantswarm.upstream.version=<pin>. ko, the repo-owned version step and theversionpipeline parameter are gone; the version is the orb's, from the git tags.Versions are decoupled from upstream's (RFC "Semantic Versioning of Upstream Software"): a release is a tag
vX.Y.Z(orvX.Y.Z-rc.N) and publishesX.Y.Z;1.0.0is the first, above the superseded0.0.30-gs.N; a push togiantswarmpublishes gitsemver's dev version. Every other branch runs the six builds withpush: false, so a Dockerfile regression surfaces on the pull request.scanruns Trivy from its image on the remote docker engine (one container per image, a shared database cache,.trivyignorecopied in), scans the six images by tag and the agentgateway image report-only, recordsimage-refs.txtand gatescharts, which reads the version from.build_version.The sync workflow derives the pin from the stable tags reachable from the branch that upstream also has: the line's own stable tags share the
v*namespace and never count, and upstreammain— rebased onto agent-substrate, no release tag among its ancestors — offers no merge-base to describe. FORK.md states the scheme ("Pin", "Re-pin", "Publishing", "Consumers").The orb is
giantswarm/architect@10.6.0(the release that carries thebuild-argsparameter). The agentgateway line's first decoupled release replacesv1.5.1-gs.4in the chart default and the pipeline parameter before the merge.How verified
circleci config process --org gh/giantswarm .circleci/config.ymlcompiles; in the processed jobs every push job carries itsCOMPONENT=<component>,.build_versionis persisted by theateapijobs only, and thevalidatejobs log in nowhere.docker buildx build --checkon the Dockerfile reports no warnings;go list -mod=vendorresolves all six commands.0.0.30-gs.5binary read withgo version -m:-trimpath=true,CGO_ENABLED=0, no ldflags, the VCS revision embedded — the Dockerfile builds the same way; the published image config (/ko-app/<name>ENTRYPOINT,/ko-apponPATH, the base's user) is reproduced per component.v0.0.29— also with av1.0.0tag on HEAD, where the previous derivation answeredv1.0.0.validateworkflow builds all six images for both platforms without pushing.