|
87 | 87 | with: |
88 | 88 | filter: | |
89 | 89 | Doc/** |
90 | | - # Temporarily skip paths with spaces |
91 | | - # (i.e. "C API", "Core and Builtins") |
92 | | - # to avoid "Error: One of your files includes a space". |
93 | | - # Pending https://github.com/python/core-workflow/issues/186 |
94 | | - # Misc/** |
95 | | - Misc/NEWS.d/next/Build/** |
96 | | - Misc/NEWS.d/next/Documentation/** |
97 | | - Misc/NEWS.d/next/IDLE/** |
98 | | - Misc/NEWS.d/next/Library/** |
99 | | - Misc/NEWS.d/next/Security/** |
100 | | - Misc/NEWS.d/next/Tests/** |
101 | | - Misc/NEWS.d/next/Tools-Demos/** |
102 | | - Misc/NEWS.d/next/Windows/** |
103 | | - Misc/NEWS.d/next/macOS/** |
| 90 | + Misc/** |
104 | 91 | .github/workflows/reusable-docs.yml |
| 92 | + format: csv # works for paths with spaces |
105 | 93 | - name: Check for docs changes |
106 | 94 | if: >- |
107 | 95 | github.event_name == 'pull_request' |
@@ -232,17 +220,16 @@ jobs: |
232 | 220 | path: config.cache |
233 | 221 | key: ${{ github.job }}-${{ runner.os }}-${{ needs.check_source.outputs.config_hash }} |
234 | 222 | - name: Install Homebrew dependencies |
235 | | - run: brew install pkg-config openssl@1.1 xz gdbm tcl-tk |
| 223 | + run: brew install pkg-config openssl@3.0 xz gdbm tcl-tk |
236 | 224 | - name: Configure CPython |
237 | 225 | run: | |
238 | | - CFLAGS="-I$(brew --prefix gdbm)/include -I$(brew --prefix xz)/include" \ |
239 | | - LDFLAGS="-L$(brew --prefix gdbm)/lib -I$(brew --prefix xz)/lib" \ |
240 | | - PKG_CONFIG_PATH="$(brew --prefix tcl-tk)/lib/pkgconfig" \ |
| 226 | + GDBM_CFLAGS="-I$(brew --prefix gdbm)/include" \ |
| 227 | + GDBM_LIBS="-L$(brew --prefix gdbm)/lib -lgdbm" \ |
241 | 228 | ./configure \ |
242 | 229 | --config-cache \ |
243 | 230 | --with-pydebug \ |
244 | 231 | --prefix=/opt/python-dev \ |
245 | | - --with-openssl="$(brew --prefix openssl@1.1)" |
| 232 | + --with-openssl="$(brew --prefix openssl@3.0)" |
246 | 233 | - name: Build CPython |
247 | 234 | run: make -j4 |
248 | 235 | - name: Display build info |
@@ -532,3 +519,60 @@ jobs: |
532 | 519 | run: make pythoninfo |
533 | 520 | - name: Tests |
534 | 521 | run: xvfb-run make buildbottest TESTOPTS="-j4 -uall,-cpu" |
| 522 | + |
| 523 | + all-required-green: # This job does nothing and is only used for the branch protection |
| 524 | + name: All required checks pass |
| 525 | + if: always() |
| 526 | + |
| 527 | + needs: |
| 528 | + - check_source # Transitive dependency, needed to access `run_tests` value |
| 529 | + - check-docs |
| 530 | + - check_generated_files |
| 531 | + - build_win32 |
| 532 | + - build_win_amd64 |
| 533 | + - build_macos |
| 534 | + - build_ubuntu |
| 535 | + - build_ubuntu_ssltests |
| 536 | + - test_hypothesis |
| 537 | + - build_asan |
| 538 | + |
| 539 | + runs-on: ubuntu-latest |
| 540 | + |
| 541 | + steps: |
| 542 | + - name: Check whether the needed jobs succeeded or failed |
| 543 | + uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe |
| 544 | + with: |
| 545 | + allowed-failures: >- |
| 546 | + build_macos, |
| 547 | + build_ubuntu_ssltests, |
| 548 | + build_win32, |
| 549 | + test_hypothesis, |
| 550 | + allowed-skips: >- |
| 551 | + ${{ |
| 552 | + !fromJSON(needs.check_source.outputs.run-docs) |
| 553 | + && ' |
| 554 | + check-docs, |
| 555 | + ' |
| 556 | + || '' |
| 557 | + }} |
| 558 | + ${{ |
| 559 | + needs.check_source.outputs.run_tests != 'true' |
| 560 | + && ' |
| 561 | + check_generated_files, |
| 562 | + build_win32, |
| 563 | + build_win_amd64, |
| 564 | + build_macos, |
| 565 | + build_ubuntu, |
| 566 | + build_ubuntu_ssltests, |
| 567 | + build_asan, |
| 568 | + ' |
| 569 | + || '' |
| 570 | + }} |
| 571 | + ${{ |
| 572 | + !fromJSON(needs.check_source.outputs.run_hypothesis) |
| 573 | + && ' |
| 574 | + test_hypothesis, |
| 575 | + ' |
| 576 | + || '' |
| 577 | + }} |
| 578 | + jobs: ${{ toJSON(needs) }} |
0 commit comments