@@ -21,6 +21,7 @@ name: Composer patch compatibility
2121
2222on :
2323 pull_request :
24+ types : [opened, synchronize, reopened, ready_for_review]
2425 paths :
2526 - ' .github/workflows/composer-compatibility.yml'
2627 - ' tests/docker/Dockerfile.composer'
6869permissions :
6970 contents : read
7071
72+ # Supersede stale PR runs only: main runs are the only rust-cache writers
73+ # (save-if), so push and dispatch runs are never cancelled mid-save.
7174concurrency :
7275 group : composer-compat-${{ github.event.pull_request.number || github.ref }}
73- cancel-in-progress : true
76+ cancel-in-progress : ${{ github.event_name == 'pull_request' }}
7477
7578env :
7679 SOCKET_NO_CONFIG : ' 1'
7780 SOCKET_NO_UPDATE_CHECK : ' 1'
81+ SOCKET_TELEMETRY_DISABLED : ' 1'
7882
7983jobs :
8084 native :
8185 name : composer ${{ matrix.composer }} / php ${{ matrix.php }} / ${{ matrix.os }}
86+ if : github.event.pull_request.draft != true
8287 strategy :
8388 fail-fast : false
8489 matrix :
@@ -96,12 +101,9 @@ jobs:
96101 - {os: windows-latest, composer: '2.2.30', php: '8.3', sha256: 8c2b4478b64f8f7cdf1574838fdb0033b29049ca821dad452db7a3dcfcdbffc2}
97102 - {os: windows-latest, composer: '2.9.8', php: '8.4', sha256: 59b2c50e10cafa0d8efc19ede9a326d782f096c674a26baf98cf042ce23de890}
98103 - {os: windows-latest, composer: '2.10.3', php: '8.5', sha256: 7a2d379d5b8ffdaa028580ef26494c36d2feef4b178d3dd1473a4dbc5e17c8d6}
99- - {os: macos-latest, composer: '1.10.28', php: '8.1', sha256: 0915af36eb01e3f0e16cd309adff7051832b9ef014e38371756804b20425cd5a}
100- - {os: macos-latest, composer: '2.2.30', php: '8.3', sha256: 8c2b4478b64f8f7cdf1574838fdb0033b29049ca821dad452db7a3dcfcdbffc2}
101- - {os: macos-latest, composer: '2.10.3', php: '8.5', sha256: 7a2d379d5b8ffdaa028580ef26494c36d2feef4b178d3dd1473a4dbc5e17c8d6}
102104 runs-on : ${{ matrix.os }}
103105 timeout-minutes : 60
104- steps :
106+ steps : &native-steps
105107 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
106108 with :
107109 persist-credentials : false
@@ -167,11 +169,29 @@ jobs:
167169 -- --ignored --nocapture
168170 cargo test -p socket-patch-cli --test e2e_vex_lockfile -- composer:: --nocapture
169171
172+ # The macOS rows of `native`: they run on push to main (and nightly
173+ # where scheduled), not on every PR push, so PRs stop queueing on the
174+ # small macOS runner pool.
175+ native-macos :
176+ name : composer ${{ matrix.composer }} / php ${{ matrix.php }} / ${{ matrix.os }}
177+ if : github.event_name != 'pull_request'
178+ strategy :
179+ fail-fast : false
180+ matrix :
181+ include :
182+ - {os: macos-latest, composer: '1.10.28', php: '8.1', sha256: 0915af36eb01e3f0e16cd309adff7051832b9ef014e38371756804b20425cd5a}
183+ - {os: macos-latest, composer: '2.2.30', php: '8.3', sha256: 8c2b4478b64f8f7cdf1574838fdb0033b29049ca821dad452db7a3dcfcdbffc2}
184+ - {os: macos-latest, composer: '2.10.3', php: '8.5', sha256: 7a2d379d5b8ffdaa028580ef26494c36d2feef4b178d3dd1473a4dbc5e17c8d6}
185+ runs-on : ${{ matrix.os }}
186+ timeout-minutes : 60
187+ steps : *native-steps
188+
170189 docker :
171190 # The vendored Docker capstone against an exact composer image. Its
172191 # fixture resolves psr/log from packagist, which no longer serves
173192 # Composer 1, so 1.10.28 is covered by the native legs only.
174193 name : docker composer ${{ matrix.composer }}
194+ if : github.event.pull_request.draft != true
175195 runs-on : ubuntu-latest
176196 timeout-minutes : 35
177197 strategy :
0 commit comments