|
1 | 1 | on: |
2 | 2 | workflow_call: |
3 | 3 | inputs: |
| 4 | + arch: |
| 5 | + description: CPU architecture |
| 6 | + required: true |
| 7 | + type: choice |
| 8 | + options: |
| 9 | + - Win32 |
| 10 | + - x64 |
| 11 | + - arm64 |
4 | 12 | free-threading: |
5 | 13 | description: Whether to use no-GIL mode |
6 | 14 | required: false |
|
12 | 20 | true |
13 | 21 |
|
14 | 22 | jobs: |
15 | | - build_win32: |
16 | | - name: 'build and test (x86)' |
17 | | - runs-on: windows-latest |
18 | | - timeout-minutes: 60 |
19 | | - steps: |
20 | | - - uses: actions/checkout@v4 |
21 | | - - name: Build CPython |
22 | | - run: .\PCbuild\build.bat -e -d -v -p Win32 ${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }} |
23 | | - - name: Display build info |
24 | | - run: .\python.bat -m test.pythoninfo |
25 | | - - name: Tests |
26 | | - run: .\PCbuild\rt.bat -p Win32 -d -q --fast-ci ${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }} |
27 | | - |
28 | | - build_win_amd64: |
29 | | - name: 'build and test (x64)' |
| 23 | + build: |
| 24 | + name: >- |
| 25 | + build${{ inputs.arch != 'arm64' && ' and test' || '' }} |
| 26 | + (${{ inputs.arch }}) |
30 | 27 | runs-on: windows-latest |
31 | 28 | timeout-minutes: 60 |
32 | 29 | steps: |
33 | 30 | - uses: actions/checkout@v4 |
34 | 31 | - name: Register MSVC problem matcher |
| 32 | + if: inputs.arch != 'Win32' |
35 | 33 | run: echo "::add-matcher::.github/problem-matchers/msvc.json" |
36 | 34 | - name: Build CPython |
37 | | - run: .\PCbuild\build.bat -e -d -v -p x64 ${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }} |
| 35 | + run: >- |
| 36 | + .\PCbuild\build.bat |
| 37 | + -e -d -v |
| 38 | + -p ${{ inputs.arch }} |
| 39 | + ${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }} |
38 | 40 | - name: Display build info |
| 41 | + if: inputs.arch != 'arm64' |
39 | 42 | run: .\python.bat -m test.pythoninfo |
40 | 43 | - name: Tests |
41 | | - run: .\PCbuild\rt.bat -p x64 -d -q --fast-ci ${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }} |
42 | | - |
43 | | - build_win_arm64: |
44 | | - name: 'build (arm64)' |
45 | | - runs-on: windows-latest |
46 | | - timeout-minutes: 60 |
47 | | - steps: |
48 | | - - uses: actions/checkout@v4 |
49 | | - - name: Register MSVC problem matcher |
50 | | - run: echo "::add-matcher::.github/problem-matchers/msvc.json" |
51 | | - - name: Build CPython |
52 | | - run: .\PCbuild\build.bat -e -d -v -p arm64 ${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }} |
| 44 | + if: inputs.arch != 'arm64' |
| 45 | + run: >- |
| 46 | + .\PCbuild\rt.bat |
| 47 | + -p ${{ inputs.arch }} |
| 48 | + -d -q --fast-ci |
| 49 | + ${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }} |
0 commit comments