Skip to content

[ci] Audit typed matrix execution path - #3594

Open
joshlf wants to merge 1 commit into
G347jsgltowjlm4i3umxjtudzc57bjmdefrom
Gcl7ijadfh2m7eft4ucy5czoaghddreiq
Open

[ci] Audit typed matrix execution path#3594
joshlf wants to merge 1 commit into
G347jsgltowjlm4i3umxjtudzc57bjmdefrom
Gcl7ijadfh2m7eft4ucy5czoaghddreiq

Conversation

@joshlf

@joshlf joshlf commented Aug 25, 2026

Copy link
Copy Markdown
Member

Require reviewed planned roles to equal build_test and miri. Audit
their exact top-level shapes, display names, hosted runners, read-only
permissions, plan_ci and build_docker_env dependencies, and build
run defaults. Reject unreviewed job controls and strategy fields.

Require exact matrix gates and fan-out expressions. Include every Miri
selector, including toolchain, in its display name. Bind one named
executor step to each job's steps mapping, with the exact selector
environment and checked CLI arguments for its role.

Audit the image producer's exact fields, permissions, output, and five
steps. Derive its artifact output and each consumer input from shared
job, output, and upload-step identifiers so a protocol rename cannot
silently update only one side.

Build the image from an isolated context containing only an audited
Dockerfile and an audited ignore file which excludes every context path.
Reject any extra context entry. Install the three common Rust toolchains
directly instead of executing checkout code, and require their Docker
argument defaults to match the validated inventory.

This also avoids compiling cargo-zerocopy only to seed the image and
prevents ordinary tools-tree changes from invalidating that layer.
Expected latency improves through more reliable Docker cache hits and
less work when the final image layer does need to rebuild.

Audit every mutable local action and image source against an independent
compiled snapshot. Open each source once for both its identity and its
contents. Reject symbolic links, paths outside the checkout, non-files,
and hard-link aliases across the complete reviewed source set.

Reintroduce shared YAML anchors only after the complete matrix bridge is
audited. Use one central list for the parser allowlist and matrix
ownership checks. Require one exact build definition and one exact Miri
alias of each of the four setup steps, in the reviewed sequences. Reject
all other anchors and aliases, redefinition, reuse, and explicit tags.

Preserve comment-looking data beneath every YAML block scalar when
comparing exact steps, rather than only beneath run blocks.

Run a trusted Git integrity gate after setup. Build a disposable index
from the expected commit under an empty Git configuration. Mutable index
flags, local attributes, and clean filters cannot hide changes. Reject
any changed tracked, untracked, or ignored checkout path before invoking
the typed executor.

Audit privileged custom shells and explicit absolute Docker bridges.
Require the fixed Bash entrypoint, no-startup privileged arguments, and
Docker option terminator, with every run line treated as load-bearing.

Tests: CARGO_NET_OFFLINE=true ./tools/cargo.sh test --locked -p zc
Tests: warning-denied Clippy for all zc targets
Tests: CARGO_NET_OFFLINE=true ./zerocopy/cargo.sh ci audit
Tests: ./ci/check_actions.sh
Tests: ./ci/check_fmt.sh
Tests: git diff --check

Authored by an agent, posting via joshlf's account


Latest Update: v29 — Compare vs v28

📚 Full Patch History

Links show the diff between the row version and the column version.

Version v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v29 v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v28 v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v27 v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v26 v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v25 v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v24 v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v8 v7 v6 v5 v4 v3 v2 v1 Base
v7 v6 v5 v4 v3 v2 v1 Base
v6 v5 v4 v3 v2 v1 Base
v5 v4 v3 v2 v1 Base
v4 v3 v2 v1 Base
v3 v2 v1 Base
v2 v1 Base
v1 Base
⬇️ Download this PR

Branch

git fetch origin refs/heads/Gcl7ijadfh2m7eft4ucy5czoaghddreiq && git checkout -b pr-Gcl7ijadfh2m7eft4ucy5czoaghddreiq FETCH_HEAD

Checkout

git fetch origin refs/heads/Gcl7ijadfh2m7eft4ucy5czoaghddreiq && git checkout FETCH_HEAD

Cherry Pick

git fetch origin refs/heads/Gcl7ijadfh2m7eft4ucy5czoaghddreiq && git cherry-pick FETCH_HEAD

Pull

git pull origin refs/heads/Gcl7ijadfh2m7eft4ucy5czoaghddreiq

Stacked PRs enabled by GHerrit.

@codecov-commenter

codecov-commenter commented Aug 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.85%. Comparing base (e5f21e0) to head (e1eeb8b).

Additional details and impacted files
@@                        Coverage Diff                         @@
##           G347jsgltowjlm4i3umxjtudzc57bjmde    #3594   +/-   ##
==================================================================
  Coverage                              91.85%   91.85%           
==================================================================
  Files                                     20       20           
  Lines                                   6093     6093           
==================================================================
  Hits                                    5597     5597           
  Misses                                   496      496           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@joshlf
joshlf force-pushed the G347jsgltowjlm4i3umxjtudzc57bjmde branch from 348b0f9 to d0ff708 Compare August 25, 2026 18:32
@joshlf
joshlf force-pushed the Gcl7ijadfh2m7eft4ucy5czoaghddreiq branch from 3143da8 to 89b8771 Compare August 25, 2026 18:32

joshlf commented Aug 25, 2026

Copy link
Copy Markdown
Member Author

Authored by an agent, posting via joshlf's account

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Already looking forward to the next diff.

Reviewed commit: 89b8771ba6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@joshlf
joshlf force-pushed the Gcl7ijadfh2m7eft4ucy5czoaghddreiq branch from 231d8b3 to d0426b3 Compare August 26, 2026 20:11
@joshlf

joshlf commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

Authored by an agent, posting via joshlf's account

@codex review

Please review the current head, d0426b35cf3bab73de540f1ad7838f33943c730e.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Bravo.

Reviewed commit: d0426b35cf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@joshlf
joshlf force-pushed the Gcl7ijadfh2m7eft4ucy5czoaghddreiq branch from d0426b3 to c54bc3c Compare August 26, 2026 22:09
@joshlf
joshlf force-pushed the G347jsgltowjlm4i3umxjtudzc57bjmde branch from 3cedc1d to 0380172 Compare August 26, 2026 22:09
@joshlf
joshlf force-pushed the Gcl7ijadfh2m7eft4ucy5czoaghddreiq branch from c54bc3c to ffb5cd0 Compare August 26, 2026 22:35
@joshlf
joshlf force-pushed the G347jsgltowjlm4i3umxjtudzc57bjmde branch from 0380172 to d220621 Compare August 26, 2026 22:35
@joshlf

joshlf commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

Authored by an agent, posting via joshlf's account

@codex review

Please review the current head, ffb5cd059f9d4ebd3d477cecc42f0b89fe0f5de7.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. More of your lovely PRs please.

Reviewed commit: ffb5cd059f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@joshlf
joshlf force-pushed the G347jsgltowjlm4i3umxjtudzc57bjmde branch from d220621 to fcda88a Compare August 26, 2026 23:31
@joshlf
joshlf force-pushed the Gcl7ijadfh2m7eft4ucy5czoaghddreiq branch from ffb5cd0 to eb2cc83 Compare August 26, 2026 23:31
@joshlf
joshlf force-pushed the G347jsgltowjlm4i3umxjtudzc57bjmde branch from fcda88a to 8eb1efb Compare August 27, 2026 01:18
@joshlf
joshlf force-pushed the Gcl7ijadfh2m7eft4ucy5czoaghddreiq branch from eb2cc83 to 3c014ce Compare August 27, 2026 01:18
@joshlf
joshlf force-pushed the G347jsgltowjlm4i3umxjtudzc57bjmde branch from 8eb1efb to d7a4fd1 Compare August 27, 2026 10:15
@joshlf
joshlf force-pushed the Gcl7ijadfh2m7eft4ucy5czoaghddreiq branch from 3c014ce to 38e0cf2 Compare August 27, 2026 10:15
@joshlf

joshlf commented Aug 27, 2026

Copy link
Copy Markdown
Member Author

Authored by an agent, posting via joshlf's account

@codex review

Please review the current head, 38e0cf2df2db83a5bdcfbce0ea856fb00d46b85b.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

Reviewed commit: 38e0cf2df2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@joshlf
joshlf force-pushed the G347jsgltowjlm4i3umxjtudzc57bjmde branch from d7a4fd1 to d0ba440 Compare August 27, 2026 10:56
@joshlf
joshlf force-pushed the Gcl7ijadfh2m7eft4ucy5czoaghddreiq branch 2 times, most recently from 7ed08a4 to bda6d18 Compare August 27, 2026 12:04
@joshlf
joshlf force-pushed the G347jsgltowjlm4i3umxjtudzc57bjmde branch from d0ba440 to a46aedf Compare August 27, 2026 12:04
@joshlf

joshlf commented Aug 27, 2026

Copy link
Copy Markdown
Member Author

Authored by an agent, posting via joshlf's account

@codex review

Please review the current head, bda6d180ce84612eaff480a4eab2d6df2ac757d4.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

Reviewed commit: bda6d180ce

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Require reviewed planned roles to equal `build_test` and `miri`. Audit
their exact top-level shapes, display names, hosted runners, read-only
permissions, `plan_ci` and `build_docker_env` dependencies, and build
run defaults. Reject unreviewed job controls and strategy fields.

Require exact matrix gates and fan-out expressions. Include every Miri
selector, including toolchain, in its display name. Bind one named
executor step to each job's `steps` mapping, with the exact selector
environment and checked CLI arguments for its role.

Audit the image producer's exact fields, permissions, output, and five
steps. Derive its artifact output and each consumer input from shared
job, output, and upload-step identifiers so a protocol rename cannot
silently update only one side.

Build the image from an isolated context containing only an audited
Dockerfile and an audited ignore file which excludes every context path.
Reject any extra context entry. Install the three common Rust toolchains
directly instead of executing checkout code, and require their Docker
argument defaults to match the validated inventory.

This also avoids compiling cargo-zerocopy only to seed the image and
prevents ordinary tools-tree changes from invalidating that layer.
Expected latency improves through more reliable Docker cache hits and
less work when the final image layer does need to rebuild.

Audit every mutable local action and image source against an independent
compiled snapshot. Open each source once for both its identity and its
contents. Reject symbolic links, paths outside the checkout, non-files,
and hard-link aliases across the complete reviewed source set.

Reintroduce shared YAML anchors only after the complete matrix bridge is
audited. Use one central list for the parser allowlist and matrix
ownership checks. Require one exact build definition and one exact Miri
alias of each of the four setup steps, in the reviewed sequences. Reject
all other anchors and aliases, redefinition, reuse, and explicit tags.

Preserve comment-looking data beneath every YAML block scalar when
comparing exact steps, rather than only beneath run blocks.

Run a trusted Git integrity gate after setup. Build a disposable index
from the expected commit under an empty Git configuration. Mutable index
flags, local attributes, and clean filters cannot hide changes. Reject
any changed tracked, untracked, or ignored checkout path before invoking
the typed executor.

Audit privileged custom shells and explicit absolute Docker bridges.
Require the fixed Bash entrypoint, no-startup privileged arguments, and
Docker option terminator, with every run line treated as load-bearing.

Tests: CARGO_NET_OFFLINE=true ./tools/cargo.sh test --locked -p zc
Tests: warning-denied Clippy for all zc targets
Tests: CARGO_NET_OFFLINE=true ./zerocopy/cargo.sh ci audit
Tests: ./ci/check_actions.sh
Tests: ./ci/check_fmt.sh
Tests: git diff --check

*Authored by an agent, posting via joshlf's account*

gherrit-pr-id: Gcl7ijadfh2m7eft4ucy5czoaghddreiq
@joshlf
joshlf force-pushed the G347jsgltowjlm4i3umxjtudzc57bjmde branch from a46aedf to e5f21e0 Compare August 27, 2026 12:26
@joshlf
joshlf force-pushed the Gcl7ijadfh2m7eft4ucy5czoaghddreiq branch from bda6d18 to e1eeb8b Compare August 27, 2026 12:26
@joshlf

joshlf commented Aug 27, 2026

Copy link
Copy Markdown
Member Author

Authored by an agent, posting via joshlf's account

@codex review

Please review the current head, e1eeb8bbd0b2431cb5f0261d454a923171162b0f.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 👍

Reviewed commit: e1eeb8bbd0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants