[ci] Inventory workflow jobs explicitly - #3576
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## Gqofuqcjxqt64bw7di2snqyunualoi3ht #3576 +/- ##
==================================================================
Coverage 91.85% 91.85%
==================================================================
Files 20 20
Lines 6093 6093
==================================================================
Hits 5597 5597
Misses 496 496 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
4aa8517 to
0c5a889
Compare
ca89a5d to
1b5b56e
Compare
|
Authored by an agent, posting via joshlf's account @codex review |
|
Codex Review: Didn't find any major issues. Bravo. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
1b5b56e to
67fc58e
Compare
0c5a889 to
057e851
Compare
f277ad7 to
453c9c9
Compare
|
Authored by an agent, posting via joshlf's account @codex review |
|
Codex Review: Didn't find any major issues. Swish! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
453c9c9 to
cc02374
Compare
|
Authored by an agent, posting via joshlf's account @codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cc02374057
ℹ️ 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".
cc02374 to
41ece9e
Compare
7710b76 to
19ffc49
Compare
|
Authored by an agent, posting via joshlf's account @codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 41ece9e33e
ℹ️ 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".
19ffc49 to
ce60396
Compare
41ece9e to
4a6924e
Compare
|
Authored by an agent, posting via joshlf's account @codex review |
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
4a6924e to
6ea01e9
Compare
ce60396 to
4ae5925
Compare
|
Authored by an agent, posting via joshlf's account @codex review Please review the current head, |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6ea01e9c2e
ℹ️ 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".
6ea01e9 to
e5ca1fb
Compare
|
Authored by an agent, posting via joshlf's account @codex review Please review the current head, |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e5ca1fbbfe
ℹ️ 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".
e5ca1fb to
7f75458
Compare
|
Authored by an agent, posting via joshlf's account @codex review Please review the current head, |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7f75458a8e
ℹ️ 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".
Parse every lower-case YAML workflow file with yaml_serde, the maintained Serde implementation published by the YAML organization. Inspect the generic document representation only to find the root `jobs` mapping and its canonical job IDs. Compare that live inventory with a sorted, reviewed registry which assigns every job a plain-language role. Use a complete YAML parser at this boundary because a partial lexer cannot soundly distinguish structure from comments, multiline scalars, flow collections, aliases, tags, or document boundaries. Reject duplicate mapping keys, including equivalent quoted, tagged, and aliased spellings. Pin the parser's recursion and alias-repetition limits with local regression tests so a dependency update cannot silently remove those resource bounds. Accept one YAML 1.2 document, quoted structural keys, aliases, standard tags, and ordinary block and flow forms. Fail closed on multiple documents, merge keys, custom tags on structural nodes, non-mapping document or `jobs` values, and noncanonical job ID values. Continue using action-validator as the authority for the complete GitHub Actions schema. Recognize extension-only workflow names such as `.yml`, reject case-variant YAML extensions, and report discovery errors instead of treating them as an empty inventory. Test every YAML line-break spelling which previously could hide a replacement `jobs` mapping. This removes roughly 400 lines from `workflow.rs` compared with the handwritten lexer. A cold local `zc` check remained about 4.8 seconds; the parser added about 27 MiB of peak compiler memory and no measurable wall-time cost. This commit establishes the workflow inventory boundary. Later checks use the reviewed roles to constrain generated data and keep required static validation and aggregation jobs visible. Tests: CARGO_NET_OFFLINE=true ./ci/check_tools.sh Tests: cargo clippy --locked -p zc --all-targets -- -D warnings Tests: ./ci/check_fmt.sh Tests: ./ci/check_actions.sh *Authored by an agent, posting via joshlf's account* gherrit-pr-id: Ghrxpfppzzenc5ecwz3u273gd42e4psk7
7f75458 to
d5d5a26
Compare
|
Authored by an agent, posting via joshlf's account @codex review Please review the current head, |
|
Codex Review: Didn't find any major issues. Hooray! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
Parse every lower-case YAML workflow file with yaml_serde, the
maintained Serde implementation published by the YAML organization.
Inspect the generic document representation only to find the root
jobsmapping and its canonical job IDs. Compare that live inventorywith a sorted, reviewed registry which assigns every job a
plain-language role.
Use a complete YAML parser at this boundary because a partial lexer
cannot soundly distinguish structure from comments, multiline scalars,
flow collections, aliases, tags, or document boundaries. Reject
duplicate mapping keys, including equivalent quoted, tagged, and
aliased spellings. Pin the parser's recursion and alias-repetition
limits with local regression tests so a dependency update cannot
silently remove those resource bounds.
Accept one YAML 1.2 document, quoted structural keys, aliases, standard
tags, and ordinary block and flow forms. Fail closed on multiple
documents, merge keys, custom tags on structural nodes, non-mapping
document or
jobsvalues, and noncanonical job ID values. Continueusing action-validator as the authority for the complete GitHub Actions
schema.
Recognize extension-only workflow names such as
.yml, rejectcase-variant YAML extensions, and report discovery errors instead of
treating them as an empty inventory. Test every YAML line-break spelling
which previously could hide a replacement
jobsmapping.This removes roughly 400 lines from
workflow.rscompared with thehandwritten lexer. A cold local
zccheck remained about 4.8 seconds;the parser added about 27 MiB of peak compiler memory and no measurable
wall-time cost.
This commit establishes the workflow inventory boundary. Later checks
use the reviewed roles to constrain generated data and keep required
static validation and aggregation jobs visible.
Tests: CARGO_NET_OFFLINE=true ./ci/check_tools.sh
Tests: cargo clippy --locked -p zc --all-targets -- -D warnings
Tests: ./ci/check_fmt.sh
Tests: ./ci/check_actions.sh
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.
⬇️ Download this PR
Branch
git fetch origin refs/heads/Ghrxpfppzzenc5ecwz3u273gd42e4psk7 && git checkout -b pr-Ghrxpfppzzenc5ecwz3u273gd42e4psk7 FETCH_HEADCheckout
git fetch origin refs/heads/Ghrxpfppzzenc5ecwz3u273gd42e4psk7 && git checkout FETCH_HEADCherry Pick
git fetch origin refs/heads/Ghrxpfppzzenc5ecwz3u273gd42e4psk7 && git cherry-pick FETCH_HEADPull
Stacked PRs enabled by GHerrit.