Skip to content

[ci] Inventory workflow jobs explicitly - #3576

Open
joshlf wants to merge 1 commit into
Gqofuqcjxqt64bw7di2snqyunualoi3htfrom
Ghrxpfppzzenc5ecwz3u273gd42e4psk7
Open

[ci] Inventory workflow jobs explicitly#3576
joshlf wants to merge 1 commit into
Gqofuqcjxqt64bw7di2snqyunualoi3htfrom
Ghrxpfppzzenc5ecwz3u273gd42e4psk7

Conversation

@joshlf

@joshlf joshlf commented Aug 25, 2026

Copy link
Copy Markdown
Member

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


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

Checkout

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

Cherry Pick

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

Pull

git pull origin refs/heads/Ghrxpfppzzenc5ecwz3u273gd42e4psk7

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 (0617cce) to head (d5d5a26).

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.
📢 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 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. Bravo.

Reviewed commit: 1b5b56e0fb

ℹ️ 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 Ghrxpfppzzenc5ecwz3u273gd42e4psk7 branch from f277ad7 to 453c9c9 Compare August 26, 2026 09:58
@joshlf

joshlf commented Aug 26, 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. Swish!

Reviewed commit: 453c9c957b

ℹ️ 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 Ghrxpfppzzenc5ecwz3u273gd42e4psk7 branch from 453c9c9 to cc02374 Compare August 26, 2026 11:31
@joshlf

joshlf commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

Authored by an agent, posting via joshlf's account

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread tools/zc/src/workflow.rs Outdated
Comment thread tools/zc/src/workflow.rs
@joshlf
joshlf force-pushed the Ghrxpfppzzenc5ecwz3u273gd42e4psk7 branch from cc02374 to 41ece9e Compare August 26, 2026 15:46
@joshlf
joshlf force-pushed the Gqofuqcjxqt64bw7di2snqyunualoi3ht branch from 7710b76 to 19ffc49 Compare August 26, 2026 15:46
@joshlf

joshlf commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

Authored by an agent, posting via joshlf's account

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread tools/zc/src/workflow.rs Outdated
@joshlf
joshlf force-pushed the Gqofuqcjxqt64bw7di2snqyunualoi3ht branch from 19ffc49 to ce60396 Compare August 26, 2026 17:40
@joshlf
joshlf force-pushed the Ghrxpfppzzenc5ecwz3u273gd42e4psk7 branch from 41ece9e to 4a6924e Compare August 26, 2026 17:40
@joshlf

joshlf commented Aug 26, 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: 4a6924eb5c

ℹ️ 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 Ghrxpfppzzenc5ecwz3u273gd42e4psk7 branch from 4a6924e to 6ea01e9 Compare August 26, 2026 18:55
@joshlf
joshlf force-pushed the Gqofuqcjxqt64bw7di2snqyunualoi3ht branch from ce60396 to 4ae5925 Compare August 26, 2026 18:55
@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, 6ea01e9c2e1cbb4465e88948278616bcd0e69632.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread tools/zc/src/workflow.rs Outdated
Comment thread tools/zc/src/workflow.rs Outdated
Comment thread tools/zc/src/workflow.rs Outdated
@joshlf
joshlf force-pushed the Ghrxpfppzzenc5ecwz3u273gd42e4psk7 branch from 6ea01e9 to e5ca1fb 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, e5ca1fbbfe60aa649993cdccd7b30060524685a4.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread tools/zc/src/workflow.rs Outdated
Comment thread tools/zc/src/workflow.rs Outdated
Comment thread tools/zc/src/workflow.rs Outdated
@joshlf
joshlf force-pushed the Ghrxpfppzzenc5ecwz3u273gd42e4psk7 branch from e5ca1fb to 7f75458 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, 7f75458a8e133e60658b6b61ed965358ed79068a.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread tools/zc/src/workflow.rs Outdated
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
@joshlf
joshlf force-pushed the Ghrxpfppzzenc5ecwz3u273gd42e4psk7 branch from 7f75458 to d5d5a26 Compare August 27, 2026 01:18
@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, d5d5a26d00097f67ed71fc1a1b677a9ac4143910.

@chatgpt-codex-connector

Copy link
Copy Markdown

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

Reviewed commit: d5d5a26d00

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