Skip to content

[ci] Drive matrix jobs from typed plans - #3591

Open
joshlf wants to merge 1 commit into
G9897ad03a6cbd7a3472a2b8184fd6ae8from
Gquoamyb32c2czjlzvvkel27kkqeg2tid
Open

[ci] Drive matrix jobs from typed plans#3591
joshlf wants to merge 1 commit into
G9897ad03a6cbd7a3472a2b8184fd6ae8from
Gquoamyb32c2czjlzvvkel27kkqeg2tid

Conversation

@joshlf

@joshlf joshlf commented Aug 25, 2026

Copy link
Copy Markdown
Member

The ordinary workflow still maintained hundreds of lines of matrix
axes, exclusions, feature shell fragments, and command conditions beside
the checked Rust policy. Either representation could drift while the
other continued to look valid.

Make the planner outputs authoritative for build and Miri fan-out. Each
job passes only quoted cell selectors to cargo-zerocopy, which replans
the event, resolves all command behavior from checked inputs, and
rejects an unknown or excluded cell before starting work.

Retire the old YAML-to-manifest toolchain checker in the same change
which removes its handwritten matrix input. The preceding commit proves
the replacement two-way inventory invariant, so this switch has no
under-checked boundary and cannot fail by parsing a fromJSON expression.

Keep runner, image, artifact, permission, and third-party action choices
visible in Actions YAML. Preserve the literal semver action as the one
workflow-owned exception, and correctly forward the pull request head
SHA used by its existing commit-message skip contract.

This intentionally preserves coverage: pull requests still select 60
build and zero Miri cells; full events select 182 build and 64 Miri
cells. Removing the retired hosted checker also saves one runner startup
and yq installation, plus one duplicate local pre-push process.

Tests: ci/check_actions.sh
Tests: ci/check_job_dependencies.sh
Tests: ci/check_tools.sh
Tests: githooks/test_pre_push.py
Tests: ci/check_fmt.sh
Tests: cargo clippy -p zc --all-targets --offline -- -D warnings

Authored by an agent, posting via joshlf's account


Latest Update: v9 — Compare vs v8

📚 Full Patch History

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

Version 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/Gquoamyb32c2czjlzvvkel27kkqeg2tid && git checkout -b pr-Gquoamyb32c2czjlzvvkel27kkqeg2tid FETCH_HEAD

Checkout

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

Cherry Pick

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

Pull

git pull origin refs/heads/Gquoamyb32c2czjlzvvkel27kkqeg2tid

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.
⚠️ Please upload report for BASE (G9897ad03a6cbd7a3472a2b8184fd6ae8@50f0868). Learn more about missing BASE report.

Additional details and impacted files
@@                         Coverage Diff                          @@
##             G9897ad03a6cbd7a3472a2b8184fd6ae8    #3591   +/-   ##
====================================================================
  Coverage                                     ?   91.85%           
====================================================================
  Files                                        ?       20           
  Lines                                        ?     6093           
  Branches                                     ?        0           
====================================================================
  Hits                                         ?     5597           
  Misses                                       ?      496           
  Partials                                     ?        0           

☔ 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 Gquoamyb32c2czjlzvvkel27kkqeg2tid branch from f90984d to 4f0c3e7 Compare August 25, 2026 18:32
@joshlf
joshlf force-pushed the Gkr4fd4vz5vegygalblsmjjgpdq3eulsx branch from 1c25593 to 1632fd7 Compare August 25, 2026 18:32
@joshlf
joshlf changed the base branch from Gkr4fd4vz5vegygalblsmjjgpdq3eulsx to G9897ad03a6cbd7a3472a2b8184fd6ae8 August 25, 2026 18:40

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. What shall we delve into next?

Reviewed commit: 4f0c3e7ad3

ℹ️ 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 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. You're on a roll.

Reviewed commit: b0f94a47ca

ℹ️ 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".

The ordinary workflow still maintained hundreds of lines of matrix
axes, exclusions, feature shell fragments, and command conditions beside
the checked Rust policy. Either representation could drift while the
other continued to look valid.

Make the planner outputs authoritative for build and Miri fan-out. Each
job passes only quoted cell selectors to cargo-zerocopy, which replans
the event, resolves all command behavior from checked inputs, and
rejects an unknown or excluded cell before starting work.

Retire the old YAML-to-manifest toolchain checker in the same change
which removes its handwritten matrix input. The preceding commit proves
the replacement two-way inventory invariant, so this switch has no
under-checked boundary and cannot fail by parsing a fromJSON expression.

Keep runner, image, artifact, permission, and third-party action choices
visible in Actions YAML. Preserve the literal semver action as the one
workflow-owned exception, and correctly forward the pull request head
SHA used by its existing commit-message skip contract.

This intentionally preserves coverage: pull requests still select 60
build and zero Miri cells; full events select 182 build and 64 Miri
cells. Removing the retired hosted checker also saves one runner startup
and yq installation, plus one duplicate local pre-push process.

Tests: ci/check_actions.sh
Tests: ci/check_job_dependencies.sh
Tests: ci/check_tools.sh
Tests: githooks/test_pre_push.py
Tests: ci/check_fmt.sh
Tests: cargo clippy -p zc --all-targets --offline -- -D warnings

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

gherrit-pr-id: Gquoamyb32c2czjlzvvkel27kkqeg2tid
@joshlf
joshlf force-pushed the Gquoamyb32c2czjlzvvkel27kkqeg2tid branch from b0f94a4 to af342b3 Compare August 26, 2026 01:28
@joshlf
joshlf force-pushed the G9897ad03a6cbd7a3472a2b8184fd6ae8 branch from c1be07a to 2a0dd37 Compare August 26, 2026 01:28
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