Split up ci.yml (#17388)

This file is too big for an LLM context window and several contributors
have complained about it being too scary to touch.

This also gets us collapsible sections in the UI.

I renamed some jobs for clarity in the meantime. And added a meta-job
for required checks passing so we can avoid churn in our "Settings" when
we change job names.

Note this was entirely refactored by Claude.

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Zanie Blue
2026-01-12 12:34:30 -06:00
committed by GitHub
parent 0da6f263a9
commit 903dd292b3
19 changed files with 3054 additions and 2884 deletions
@@ -0,0 +1,34 @@
on:
workflow_call:
inputs:
schema-changed:
required: true
type: string
permissions: {}
env:
CARGO_INCREMENTAL: 0
CARGO_NET_RETRY: 10
CARGO_TERM_COLOR: always
RUSTUP_MAX_RETRIES: 10
jobs:
cargo-dev-generate-all:
timeout-minutes: 10
runs-on: ubuntu-latest
name: "cargo dev generate-all"
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
persist-credentials: false
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
with:
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: "Generate all"
run: cargo dev generate-all --mode dry-run
- name: "Check sysconfig mappings"
run: cargo dev generate-sysconfig-metadata --mode check
- name: "Check JSON schema"
if: ${{ inputs.schema-changed == 'true' }}
run: cargo dev generate-json-schema --mode check