Skip to content

⚡️ Improve Python CI performance - #1944

Open
burgholzer wants to merge 2 commits into
mainfrom
agent/ci-python-performance
Open

⚡️ Improve Python CI performance#1944
burgholzer wants to merge 2 commits into
mainfrom
agent/ci-python-performance

Conversation

@burgholzer

@burgholzer burgholzer commented Jul 25, 2026

Copy link
Copy Markdown
Member

🤖 AI text below 🤖

Summary

  • Update all reusable workflow pins to the immutable v2.2.1 release commit.
  • Share one scikit-build-core build directory across Python test sessions.
  • Configure coverage.py's sysmon core and parallel data collection centrally.
  • Require pytest-cov 7.1 for the coverage configuration.

The shared build directory lets the minimum- and regular-resolution nox sessions reuse the same CMake and Ninja state. On Windows, reusable workflows v2.2.1 initialize native MSVC and use Ninja so the existing job-local sccache installation is active.

Evidence

The final test-only experiment passed on macOS and Windows in run 30434315809. The full Core CI run for the same source revision also passed on every supported runner in run 30434310296.

The strongest reuse was on Windows: after the minimum-resolution builds, all five regular-resolution sessions completed in 47 seconds and sccache reported a 35.93% hit rate in run 30404816970.

Validation

  • uv lock --check
  • Full Core lint session
  • macOS and Windows performance experiment
  • Full Core CI matrix
  • No mutable workflow references or benchmark-only workflow remain
  • I confirm that I have personally reviewed and understood all AI-generated content, and accept full responsibility for it.

@burgholzer burgholzer changed the title 🧪 Test the optimized reusable Python workflow 🧪 Benchmark optimized reusable Python workflows Jul 26, 2026
@codecov

codecov Bot commented Jul 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Comment thread pyproject.toml Outdated
@burgholzer
burgholzer force-pushed the agent/ci-python-performance branch from 2fc16a5 to 11dfa42 Compare July 29, 2026 08:02
@burgholzer burgholzer changed the title 🧪 Benchmark optimized reusable Python workflows 🧪 Benchmark reusable Python test builds Jul 29, 2026
@burgholzer
burgholzer force-pushed the agent/ci-python-performance branch from 11dfa42 to ad51c1f Compare July 29, 2026 08:05
Exercise the reusable test workflow with a shared native build tree and retain the parallel coverage integration.

Co-authored-by: Daniel Haag <121057143+denialhaag@users.noreply.github.com>
Assisted-by: GPT-5.6 via Codex
@burgholzer
burgholzer force-pushed the agent/ci-python-performance branch from ad51c1f to 976bd3f Compare July 29, 2026 08:08
Replace the benchmark-only feature reference with the released workflow and update all reusable workflow pins consistently.

Assisted-by: GPT-5.6 via Codex
@burgholzer burgholzer changed the title 🧪 Benchmark reusable Python test builds ⚡️ Improve Python CI performance Jul 29, 2026
@burgholzer
burgholzer marked this pull request as ready for review July 29, 2026 12:28
@burgholzer burgholzer added the continuous integration Anything related to the CI setup label Jul 29, 2026
@burgholzer burgholzer self-assigned this Jul 29, 2026
@burgholzer burgholzer added the python Anything related to Python code label Jul 29, 2026
@burgholzer
burgholzer enabled auto-merge (squash) July 29, 2026 12:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

continuous integration Anything related to the CI setup python Anything related to Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant