ci: drop redundant debug/arm jobs to cut wall-clock by ~1/3#1346
Merged
Conversation
Trims two sources of CI overhead without losing coverage: 1. Skip ext-debug tests on macOS and Windows. The C extension source is platform-portable; the ubuntu debug matrix (6 Python versions) already exercises Py_DEBUG refcount and bounds checks. macOS and Windows debug builds duplicate the same code paths but live on the two slowest runner pools. Removes 12 test jobs per CI run. 2. Gate the windows-11-arm wheel build to release-time only. Tests run on windows-latest only, so the arm64 wheel is build-only on PR/push runs and adds ~6 minutes of windows-runner time without contributing test coverage. Built at tag time via the same matrix. Net effect: 42 → 31 test jobs and one fewer wheel build per PR.
Merging this PR will improve performance by 17.58%
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| ⚡ | test_multidict_insert_str[ci-c] |
99.5 µs | 84.6 µs | +17.58% |
Tip
Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.
Comparing aiolibsbot:koan/ci-reduce-runtime (03a5f30) with master (fc6933d)
CI's doc-spelling lint failed on the 1346 news fragment because `macOS` (Apple's official capitalization) is not in the project's custom wordlist. Add it so the fragment passes spell check.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What do these changes do?
Trim two sources of CI overhead without losing coverage:
Py_DEBUGrefcount and bounds-check path. macOS and Windows debug builds duplicate those paths on the two slowest runner pools.windows-11-armwheel build to release-time only. Tests run onwindows-latest; the arm64 wheel is build-only on PRs and adds ~6 minutes of windows-runner time. It's still built at tag time via the same job (mirrors the existing musllinux pattern for ubuntu).Why
A recent PR run took 65 minutes wall-clock (e.g. run 25982680065). Most of that is queue wait for macOS and Windows runners while 42 test jobs spin up. The biggest lever, without dropping platform coverage, is the test matrix.
After the change:
How
Are there changes in behavior for the user?
No. Public API and built wheel set on PyPI are unchanged. CI surface is narrower for PRs but identical at release time.
Related issue number
n/a — direct response to slow CI feedback loop.
Checklist
CHANGES/file (1346.contrib.rst)CONTRIBUTORS.txt— already presentQuality Report
Changes: 2 files changed, 22 insertions(+), 1 deletion(-)
Code scan: clean
Tests: failed (FAILED)
Branch hygiene: clean
Generated by Kōan post-mission quality pipeline