@@ -9,6 +9,7 @@ name: PDM patch compatibility
99
1010on :
1111 pull_request :
12+ types : [opened, synchronize, reopened, ready_for_review]
1213 paths :
1314 - ' .github/actions/upload-artifact/**'
1415 - ' .github/workflows/pdm-compatibility.yml'
6061
6162jobs :
6263 build :
64+ if : github.event.pull_request.draft != true
6365 strategy :
6466 fail-fast : false
6567 matrix :
6668 os : [ubuntu-latest, macos-latest]
69+ exclude :
70+ # macOS legs run on push to main (and nightly where scheduled), not per PR push.
71+ - os : ${{ github.event_name == 'pull_request' && 'macos-latest' || '' }}
6772 runs-on : ${{ matrix.os }}
6873 timeout-minutes : 30
6974 steps :
@@ -107,13 +112,9 @@ jobs:
107112 # every Windows cell skipped; backtest-pdm.py now fails such a cell.
108113 os : [ubuntu-latest]
109114 pdm : ['0.12.3', '1.15.5', '2.0.3', '2.1.5', '2.3.4', '2.6.1', '2.7.4', '2.8.2', '2.9.3', '2.10.4', '2.11.2', '2.17.3', '2.20.1', '2.22.4', '2.25.9', '2.29.2']
110- include :
111- - { os: macos-latest, pdm: '0.12.3' }
112- - { os: macos-latest, pdm: '2.8.2' }
113- - { os: macos-latest, pdm: '2.29.2' }
114115 runs-on : ${{ matrix.os }}
115116 timeout-minutes : 45
116- steps :
117+ steps : &native-steps
117118 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
118119 with :
119120 persist-credentials : false
@@ -174,6 +175,23 @@ jobs:
174175 # formats (3.1, 4.0-4.2) must attest nothing. The cells ci.yml's `e2e`
175176 # job runs on every PR and main push are excluded here
176177 # (scripts/tests/test_ci_e2e_tiers.py keeps the two lists in step).
178+
179+ # The macOS rows of `native`: they run on push to main (and nightly
180+ # where scheduled), not on every PR push, so PRs stop queueing on the
181+ # small macOS runner pool.
182+ native-macos :
183+ if : github.event_name != 'pull_request'
184+ needs : build
185+ strategy :
186+ fail-fast : false
187+ matrix :
188+ # The ends of the range and the 2.8 lock-format boundary.
189+ os : [macos-latest]
190+ pdm : ['0.12.3', '2.8.2', '2.29.2']
191+ runs-on : ${{ matrix.os }}
192+ timeout-minutes : 45
193+ steps : *native-steps
194+
177195 capstone :
178196 needs : build
179197 strategy :
@@ -189,6 +207,8 @@ jobs:
189207 - {os: ubuntu-latest, pdm: '2.25.9'}
190208 - {os: ubuntu-latest, pdm: '2.29.2'}
191209 - {os: macos-latest, pdm: '2.29.2'}
210+ # macOS legs run on push to main (and nightly where scheduled), not per PR push.
211+ - os : ${{ github.event_name == 'pull_request' && 'macos-latest' || '' }}
192212 runs-on : ${{ matrix.os }}
193213 timeout-minutes : 30
194214 steps :
0 commit comments