Skip to content

Split up ci.yml#17388

Merged
zanieb merged 6 commits intomainfrom
zb/reusable-workflow
Jan 12, 2026
Merged

Split up ci.yml#17388
zanieb merged 6 commits intomainfrom
zb/reusable-workflow

Conversation

@zanieb
Copy link
Member

@zanieb zanieb commented Jan 9, 2026

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.

- plan
if: ${{ needs.plan.outputs.publishing == 'true' || fromJson(needs.plan.outputs.val).ci.github.pr_run_mode == 'upload' || inputs.tag == 'dry-run' }}
uses: ./.github/workflows/build-binaries.yml
uses: ./.github/workflows/build-release-binaries.yml

Check warning

Code scanning / zizmor

secrets unconditionally inherited by called workflow Warning

secrets unconditionally inherited by called workflow
Copy link
Member Author

Choose a reason for hiding this comment

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

This is pre-existing.

@zanieb zanieb force-pushed the zb/reusable-workflow branch from 1c0f41d to ae5d548 Compare January 9, 2026 19:47
@zanieb zanieb temporarily deployed to uv-test-registries January 9, 2026 19:52 — with GitHub Actions Inactive
@zanieb zanieb force-pushed the zb/reusable-workflow branch 3 times, most recently from 3000ef1 to 46f86a0 Compare January 9, 2026 19:57
@zanieb zanieb temporarily deployed to uv-test-registries January 9, 2026 20:01 — with GitHub Actions Inactive
@zanieb zanieb force-pushed the zb/reusable-workflow branch 2 times, most recently from 0956e6f to 64d14fd Compare January 9, 2026 20:03
@zanieb zanieb force-pushed the zb/reusable-workflow branch from 64d14fd to b7e73f8 Compare January 9, 2026 20:06
@zanieb zanieb temporarily deployed to uv-test-registries January 9, 2026 20:10 — with GitHub Actions Inactive
@zanieb zanieb force-pushed the zb/reusable-workflow branch from b7e73f8 to 6ed30f8 Compare January 9, 2026 20:21
@zanieb zanieb temporarily deployed to uv-test-registries January 9, 2026 20:25 — with GitHub Actions Inactive
@zanieb zanieb temporarily deployed to uv-test-registries January 9, 2026 20:57 — with GitHub Actions Inactive
@zanieb zanieb temporarily deployed to uv-test-registries January 9, 2026 21:04 — with GitHub Actions Inactive
@zanieb zanieb temporarily deployed to uv-test-registries January 9, 2026 21:15 — with GitHub Actions Inactive
@zanieb zanieb temporarily deployed to uv-test-registries January 9, 2026 21:23 — with GitHub Actions Inactive
@zanieb zanieb force-pushed the zb/reusable-workflow branch from 8dbf302 to a0d7362 Compare January 9, 2026 21:41
@zanieb zanieb temporarily deployed to uv-test-registries January 9, 2026 21:47 — with GitHub Actions Inactive
@zanieb zanieb force-pushed the zb/reusable-workflow branch from a0d7362 to fdecf0f Compare January 9, 2026 21:55
@zanieb zanieb temporarily deployed to uv-test-registries January 9, 2026 22:02 — with GitHub Actions Inactive
@zanieb zanieb marked this pull request as ready for review January 9, 2026 22:05
Break apart the monolithic ci.yml into smaller, focused workflow files:
- bench.yml, test.yml, test-integration.yml, test-system.yml, test-ecosystem.yml
- check-fmt.yml, check-lint.yml, check-docs.yml, check-publish.yml, check-zizmor.yml
- build-dev-binaries.yml, build-release-binaries.yml, test-windows-trampolines.yml, test-smoke.yml

Use jq-based required-checks-passed job to verify all CI checks.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@zanieb zanieb force-pushed the zb/reusable-workflow branch from fdecf0f to bc43c76 Compare January 9, 2026 23:28
@zanieb zanieb temporarily deployed to uv-test-registries January 9, 2026 23:34 — with GitHub Actions Inactive
python-version: 3.12

- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2.8.0
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
Copy link
Member

Choose a reason for hiding this comment

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

May want to decouple this?

Copy link
Member Author

Choose a reason for hiding this comment

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

We were using inconsistent versions across the workflows. I'm not even sure why. I did have Claude audit that we weren't bumping to a version that we weren't using elsewhere in the file. I'll double check though.

Copy link
Member Author

Choose a reason for hiding this comment

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

I confirmed we're using v2.8.2 in a bunch of places on main.

@zanieb zanieb temporarily deployed to uv-test-publish January 12, 2026 16:51 — with GitHub Actions Inactive
@zanieb zanieb temporarily deployed to uv-test-registries January 12, 2026 16:51 — with GitHub Actions Inactive
@zanieb zanieb temporarily deployed to uv-test-publish January 12, 2026 18:08 — with GitHub Actions Inactive
@zanieb zanieb temporarily deployed to uv-test-registries January 12, 2026 18:08 — with GitHub Actions Inactive
@zanieb zanieb added no-build Disable building binaries in CI test:skip Disable running tests for a pull request labels Jan 12, 2026
@zanieb zanieb merged commit 903dd29 into main Jan 12, 2026
37 checks passed
@zanieb zanieb deleted the zb/reusable-workflow branch January 12, 2026 18:34
zanieb added a commit that referenced this pull request Jan 12, 2026
We get a bunch of redundant skipped `Release / Build binary ...` jobs in
CI otherwise, and I would rather the release workflow didn't have a pull
request trigger at all.

Follows #17388
zanieb pushed a commit that referenced this pull request Jan 22, 2026
`build-binaries.yml` was renamed to `build-release-binaries.yaml` in
#17388.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-build Disable building binaries in CI test:skip Disable running tests for a pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants