Archived
KofTwentyTwo/ci-policy: ci / fork-guard (pull_request) Skipped
KofTwentyTwo/ci-policy: native / fork-deny (pull_request) Skipped
KofTwentyTwo/ci-policy: native / build-macos-0 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / build-macos-1 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / build-macos-2 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / build-macos-3 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / build-windows-4 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / build-windows-5 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / build-windows-6 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / build-windows-7 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / dotnet-8 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / dotnet-9 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / dotnet-10 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / dotnet-11 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / swift-12 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / swift-13 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / Scoped workflow [workflow 56c9aa7d4e8180123218896b74ac75e41092286b] (pull_request) Successful in 5s
KofTwentyTwo/ci-policy: native / swift-14 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / swift-15 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / swift-16 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / swift-17 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / swift-18 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / swift-19 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / go-0 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / go-nix-1 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / gradle-2 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / gradle-3 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / java-docker-4 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / java-maven-5 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / manifests-6 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / nix-7 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / node-8 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / python-9 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / rust-10 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / rust-11 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / rust-12 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / source-config-13 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / source-config-14 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / image-build-0 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / image-build-1 (pull_request) Skipped
KofTwentyTwo/ci-policy: native / native-result (pull_request) Successful in 4s
KofTwentyTwo/ci-policy: ci / image-build-2 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / image-build-3 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / image-build-4 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / image-build-5 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / image-build-6 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / image-build-7 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / not-enrolled (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / content-validate-0 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / standards-0 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / node-matrix-0 (pull_request) Skipped
KofTwentyTwo/ci-policy: ci / shared-pipeline (pull_request) Skipped
KofTwentyTwo/ci-policy: Shared source and config CI / verify (pull_request) Successful in 9s
KofTwentyTwo/ci-policy: Shared source and config CI / secrets (pull_request) Successful in 10s
KofTwentyTwo/ci-policy: Shared source and config CI / gate (pull_request) Successful in 9s
KofTwentyTwo/ci-policy: ci / source-config-15 (pull_request) Successful in 21s
KofTwentyTwo/ci-policy: ci / ci-result (pull_request) Successful in 3s
Adds the plumbing a repository needs to resolve private QRun-IO Maven packages during verification without exposing the credential to the tests or to
any image step:
- .ci.yaml component field package_reads: {binding}; plan target field and a matrix flag `packages`.
- `prefetch-packages` command (platform_ci/package_prefetch.py): authorizes the binding and the consuming repository against
runtime/package-reader-bindings.yaml, and runs only for a push to the default branch or a SAME-REPOSITORY pull request whose forge-supplied head commit is an
exact entry of the binding's reviewed_commits (empty by default, so inert; no forks, no other commits, no branch patterns). Authorization runs before the
credential check, any project-file read or any child process. It fills the local Maven repository with `dependency:go-offline` using credential settings
that hold only ${env.CI_PACKAGE_READ_TOKEN}; the token is in that one Maven child's environment and the settings live in a scratch directory deleted even on
failure. The registry id is pinned to the constant URL by a mirror, the repository-declared tool environment is not merged, maven.ext.class.path is
cleared, and .mvn launch files and POMs with build extensions, a reference to the credential variable or a repository claiming the registry id with
another URL are refused before the token exists. Neither path writes the dependency cache.
- the step is placed before "Build and test" in the three container verify jobs; verification and image steps never receive the token and run with the
credential-free public settings. image-prebuild and the image boundary are unchanged.
- runtime/package-reader-bindings.yaml: binding kof22-qrun-read for KofTwentyTwo/Website-Backend (slot PACKAGE_READ_TOKEN, registry user qqq-package-reader),
reviewed_commits empty.
- images: `standalone: true` for an image that contains no verified build output (still scanned and source-bound; recompile and entitlement refusals
unchanged).
Tests cover configuration, prefetch authorization, credential handling, the guard (including the real host POM shape) and standalone rules.
Single commit equivalent of reviewed PR 72 (head 14e66a5e) merged onto current main; the three overlapping files differ from PR 72 only by main's own
concurrent changes.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>