check_source:
name: 'Check for source changes'
runs-on: ubuntu-latest
+ timeout-minutes: 10
outputs:
run_tests: ${{ steps.check.outputs.run_tests }}
run_ssl_tests: ${{ steps.check.outputs.run_ssl_tests }}
check_generated_files:
name: 'Check if generated files are up to date'
runs-on: ubuntu-latest
+ timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
steps:
build_win32:
name: 'Windows (x86)'
runs-on: windows-latest
+ timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
env:
- uses: actions/checkout@v3
- name: Build CPython
run: .\PCbuild\build.bat -e -d -p Win32
- timeout-minutes: 30
- name: Display build info
run: .\python.bat -m test.pythoninfo
- name: Tests
build_win_amd64:
name: 'Windows (x64)'
runs-on: windows-latest
+ timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
env:
run: echo "::add-matcher::.github/problem-matchers/msvc.json"
- name: Build CPython
run: .\PCbuild\build.bat -e -d -p x64
- timeout-minutes: 30
- name: Display build info
run: .\python.bat -m test.pythoninfo
- name: Tests
build_macos:
name: 'macOS'
runs-on: macos-latest
+ timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
env:
build_ubuntu:
name: 'Ubuntu'
runs-on: ubuntu-20.04
+ timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
env:
build_ubuntu_ssltests:
name: 'Ubuntu SSL tests with OpenSSL'
runs-on: ubuntu-20.04
+ timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_tests == 'true' && needs.check_source.outputs.run_ssl_tests == 'true'
strategy:
build_asan:
name: 'Address sanitizer'
runs-on: ubuntu-20.04
+ timeout-minutes: 60
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
env:
build_win32:
name: 'Windows (x86) Installer'
runs-on: windows-latest
+ timeout-minutes: 60
steps:
- uses: actions/checkout@v3
- name: Build CPython installer
build_win_amd64:
name: 'Windows (x64) Installer'
runs-on: windows-latest
+ timeout-minutes: 60
steps:
- uses: actions/checkout@v3
- name: Build CPython installer
build_win_arm64:
name: 'Windows (ARM64) Installer'
runs-on: windows-latest
+ timeout-minutes: 60
steps:
- uses: actions/checkout@v3
- name: Build CPython installer
build_doc:
name: 'Docs'
runs-on: ubuntu-latest
+ timeout-minutes: 60
steps:
- uses: actions/checkout@v3
- name: Register Sphinx problem matcher
doctest:
name: 'Doctest'
runs-on: ubuntu-latest
+ timeout-minutes: 60
steps:
- uses: actions/checkout@v3
- name: Register Sphinx problem matcher