@@ -142,6 +142,9 @@ jobs:
142142 - name : Check for unsupported C global variables
143143 if : github.event_name == 'pull_request' # $GITHUB_EVENT_NAME
144144 run : make check-c-globals
145+ - name : Check for undocumented C APIs
146+ run : make check-c-api-docs
147+
145148
146149 build-windows :
147150 name : >-
@@ -188,7 +191,7 @@ jobs:
188191 macOS
189192 ${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
190193 needs : build-context
191- if : needs.build-context.outputs.run-tests == 'true'
194+ if : needs.build-context.outputs.run-macos == 'true'
192195 strategy :
193196 fail-fast : false
194197 matrix :
@@ -205,7 +208,6 @@ jobs:
205208 free-threading : true
206209 uses : ./.github/workflows/reusable-macos.yml
207210 with :
208- config_hash : ${{ needs.build-context.outputs.config-hash }}
209211 free-threading : ${{ matrix.free-threading }}
210212 os : ${{ matrix.os }}
211213
@@ -215,7 +217,7 @@ jobs:
215217 ${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
216218 ${{ fromJSON(matrix.bolt) && '(bolt)' || '' }}
217219 needs : build-context
218- if : needs.build-context.outputs.run-tests == 'true'
220+ if : needs.build-context.outputs.run-ubuntu == 'true'
219221 strategy :
220222 fail-fast : false
221223 matrix :
@@ -237,7 +239,6 @@ jobs:
237239 bolt : true
238240 uses : ./.github/workflows/reusable-ubuntu.yml
239241 with :
240- config_hash : ${{ needs.build-context.outputs.config-hash }}
241242 bolt-optimizations : ${{ matrix.bolt }}
242243 free-threading : ${{ matrix.free-threading }}
243244 os : ${{ matrix.os }}
@@ -247,7 +248,7 @@ jobs:
247248 runs-on : ${{ matrix.os }}
248249 timeout-minutes : 60
249250 needs : build-context
250- if : needs.build-context.outputs.run-tests == 'true'
251+ if : needs.build-context.outputs.run-ubuntu == 'true'
251252 strategy :
252253 fail-fast : false
253254 matrix :
@@ -303,7 +304,7 @@ jobs:
303304 runs-on : ${{ matrix.os }}
304305 timeout-minutes : 60
305306 needs : build-context
306- if : needs.build-context.outputs.run-tests == 'true'
307+ if : needs.build-context.outputs.run-ubuntu == 'true'
307308 strategy :
308309 fail-fast : false
309310 matrix :
@@ -367,7 +368,7 @@ jobs:
367368 build-android :
368369 name : Android (${{ matrix.arch }})
369370 needs : build-context
370- if : needs.build-context.outputs.run-tests == 'true'
371+ if : needs.build-context.outputs.run-android == 'true'
371372 timeout-minutes : 60
372373 strategy :
373374 fail-fast : false
@@ -389,9 +390,9 @@ jobs:
389390 build-ios :
390391 name : iOS
391392 needs : build-context
392- if : needs.build-context.outputs.run-tests == 'true'
393+ if : needs.build-context.outputs.run-ios == 'true'
393394 timeout-minutes : 60
394- runs-on : macos-15
395+ runs-on : macos-14
395396 steps :
396397 - uses : actions/checkout@v4
397398 with :
@@ -404,25 +405,23 @@ jobs:
404405 # https://github.com/actions/runner-images/issues/12751.
405406 - name : Select Xcode version
406407 run : |
407- sudo xcode-select --switch /Applications/Xcode_16 .4.app
408+ sudo xcode-select --switch /Applications/Xcode_15 .4.app
408409
409410 - name : Build and test
410- run : python3 Apple ci iOS --fast-ci --simulator 'iPhone 16e ,OS=18 .5'
411+ run : python3 Apple ci iOS --fast-ci --simulator 'iPhone SE (3rd generation) ,OS=17 .5'
411412
412413 build-wasi :
413414 name : ' WASI'
414415 needs : build-context
415- if : needs.build-context.outputs.run-tests == 'true'
416+ if : needs.build-context.outputs.run-wasi == 'true'
416417 uses : ./.github/workflows/reusable-wasi.yml
417- with :
418- config_hash : ${{ needs.build-context.outputs.config-hash }}
419418
420419 test-hypothesis :
421420 name : " Hypothesis tests on Ubuntu"
422421 runs-on : ubuntu-24.04
423422 timeout-minutes : 60
424423 needs : build-context
425- if : needs.build-context.outputs.run-tests == 'true'
424+ if : needs.build-context.outputs.run-ubuntu == 'true'
426425 env :
427426 OPENSSL_VER : 3.0.18
428427 PYTHONSTRICTEXTENSIONBUILD : 1
@@ -529,7 +528,7 @@ jobs:
529528 runs-on : ${{ matrix.os }}
530529 timeout-minutes : 60
531530 needs : build-context
532- if : needs.build-context.outputs.run-tests == 'true'
531+ if : needs.build-context.outputs.run-ubuntu == 'true'
533532 strategy :
534533 fail-fast : false
535534 matrix :
@@ -582,7 +581,7 @@ jobs:
582581 # ${{ '' } is a hack to nest jobs under the same sidebar category.
583582 name : Sanitizers${{ '' }} # zizmor: ignore[obfuscation]
584583 needs : build-context
585- if : needs.build-context.outputs.run-tests == 'true'
584+ if : needs.build-context.outputs.run-ubuntu == 'true'
586585 strategy :
587586 fail-fast : false
588587 matrix :
@@ -600,15 +599,14 @@ jobs:
600599 uses : ./.github/workflows/reusable-san.yml
601600 with :
602601 sanitizer : ${{ matrix.sanitizer }}
603- config_hash : ${{ needs.build-context.outputs.config-hash }}
604602 free-threading : ${{ matrix.free-threading }}
605603
606604 cross-build-linux :
607605 name : Cross build Linux
608606 runs-on : ubuntu-latest
609607 timeout-minutes : 60
610608 needs : build-context
611- if : needs.build-context.outputs.run-tests == 'true'
609+ if : needs.build-context.outputs.run-ubuntu == 'true'
612610 steps :
613611 - uses : actions/checkout@v4
614612 with :
@@ -714,44 +712,32 @@ jobs:
714712 test-hypothesis,
715713 cifuzz,
716714 allowed-skips : >-
715+ ${{ !fromJSON(needs.build-context.outputs.run-docs) && 'check-docs,' || '' }}
717716 ${{
718- !fromJSON( needs.build-context.outputs.run-docs)
717+ needs.build-context.outputs.run-tests != 'true'
719718 && '
720- check-docs,
719+ check-autoconf-regen,
720+ check-generated-files,
721721 '
722722 || ''
723723 }}
724+ ${{ !fromJSON(needs.build-context.outputs.run-windows-tests) && 'build-windows,' || '' }}
725+ ${{ !fromJSON(needs.build-context.outputs.run-ci-fuzz) && 'cifuzz,' || '' }}
726+ ${{ !fromJSON(needs.build-context.outputs.run-macos) && 'build-macos,' || '' }}
724727 ${{
725- needs.build-context.outputs.run-tests != 'true'
728+ !fromJSON( needs.build-context.outputs.run-ubuntu)
726729 && '
727- check-autoconf-regen,
728- check-generated-files,
729- build-macos,
730730 build-ubuntu,
731731 build-ubuntu-ssltests-awslc,
732732 build-ubuntu-ssltests-openssl,
733- build-android,
734- build-ios,
735- build-wasi,
736733 test-hypothesis,
737734 build-asan,
738735 build-san,
739736 cross-build-linux,
740737 '
741738 || ''
742739 }}
743- ${{
744- !fromJSON(needs.build-context.outputs.run-windows-tests)
745- && '
746- build-windows,
747- '
748- || ''
749- }}
750- ${{
751- !fromJSON(needs.build-context.outputs.run-ci-fuzz)
752- && '
753- cifuzz,
754- '
755- || ''
756- }}
740+ ${{ !fromJSON(needs.build-context.outputs.run-android) && 'build-android,' || '' }}
741+ ${{ !fromJSON(needs.build-context.outputs.run-ios) && 'build-ios,' || '' }}
742+ ${{ !fromJSON(needs.build-context.outputs.run-wasi) && 'build-wasi,' || '' }}
757743 jobs : ${{ toJSON(needs) }}
0 commit comments