chore(ci): adopt pipeline catalog v4.0.0 (build/sign split)
What
Migrate .gitlab-ci.yml to pipeline catalog v4.0.0.
Version bumps
pipeline/attestv3.0.0 -> v4.0.0 (binary/SLSA attestation; unchanged in v4, bumped for consistency)pipeline/containerv3.0.0 -> v4.0.0 (BREAKING: builds + pushes + writescontainer.env; no longer signs)pipeline/verifyv3.0.0 -> v4.0.0
Build/sign split (BREAKING in v4)
container@v4 no longer signs. Each container build job is now paired with a container-sign@v4.0.0 job to preserve cosign signatures:
| build job | paired sign job | container_job | image_name |
|---|---|---|---|
container-build (default) |
container-sign |
container-build |
$CI_REGISTRY_IMAGE |
container-build-fips |
container-sign-fips |
container-build-fips |
$CI_REGISTRY_IMAGE |
:latest gating is handled inside the component.
Note
container-sign defaults to a stage: attest that does not exist in this repo's stage list; both sign jobs set stage: container (exists, sits between build and verify; ordering also enforced via needs on the build job).
Out of scope (left at v3): binary, audit, compliance, release, container-scan-summary.
Validated with glab ci lint (valid) and YAML load.