From 4a9b62b449dbea34180a1ffa1cf89081578c0379 Mon Sep 17 00:00:00 2001 From: abrichr Date: Mon, 27 Jul 2026 01:55:54 -0400 Subject: [PATCH 1/2] ci: cancel stale launcher matrices --- .github/workflows/main.yml | 13 ++++++++++++- .github/workflows/notify-docs.yml | 5 +++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0f669956e..2f83593a3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,6 +5,10 @@ on: branches: - '**' +concurrency: + group: python-ci-${{ github.ref }} + cancel-in-progress: true + jobs: run-ci: runs-on: ${{ matrix.os }} @@ -14,8 +18,13 @@ jobs: strategy: matrix: - os: [macos-latest, ubuntu-latest] + os: [ubuntu-latest] python-version: ['3.10', '3.11', '3.12'] + include: + # One macOS lane catches platform-specific launcher/import behavior; + # the Python-version compatibility matrix is platform-neutral. + - os: macos-latest + python-version: '3.12' steps: - name: Checkout code @@ -25,6 +34,8 @@ jobs: uses: actions/setup-python@v7 with: python-version: ${{ matrix.python-version }} + cache: pip + cache-dependency-path: pyproject.toml - name: Install dependencies run: | diff --git a/.github/workflows/notify-docs.yml b/.github/workflows/notify-docs.yml index a7efeb9fa..070b9eb6b 100644 --- a/.github/workflows/notify-docs.yml +++ b/.github/workflows/notify-docs.yml @@ -2,6 +2,11 @@ name: Notify docs on: push: branches: [main] + paths: + - README.md + - CHANGELOG.md + release: + types: [published] jobs: notify: runs-on: ubuntu-latest From 0ea0f1ce0c6a51679f07a4a2b40343fecc22918b Mon Sep 17 00:00:00 2001 From: abrichr Date: Mon, 27 Jul 2026 10:29:28 -0400 Subject: [PATCH 2/2] ci: preserve the full launcher matrix on exact main --- .github/workflows/main.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2f83593a3..6b9e4317b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,6 +4,9 @@ on: pull_request: branches: - '**' + push: + branches: + - main concurrency: group: python-ci-${{ github.ref }} @@ -18,11 +21,13 @@ jobs: strategy: matrix: - os: [ubuntu-latest] + # Pull requests use the three Linux versions plus one representative + # macOS lane. Exact main retains the complete two-OS matrix. + os: ${{ fromJSON(github.event_name == 'pull_request' && '["ubuntu-latest"]' || '["ubuntu-latest", "macos-latest"]') }} python-version: ['3.10', '3.11', '3.12'] include: - # One macOS lane catches platform-specific launcher/import behavior; - # the Python-version compatibility matrix is platform-neutral. + # On pull requests, add the one representative macOS lane. On main + # this matches an existing full-matrix entry rather than adding one. - os: macos-latest python-version: '3.12'