|
19 | 19 | type: string
|
20 | 20 | # System configuration
|
21 | 21 | osversion_xcodeversion_toxenv_tuples:
|
| 22 | + # As of 2024-02, "runs-on: macos-latest" is macos-12. |
| 23 | + # and "runs-on: macos-14" selects the new M1 runners. |
| 24 | + # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories |
22 | 25 | description: 'Stringified JSON object'
|
23 | 26 | default: >-
|
24 |
| - [["latest", "", "homebrew-macos-usrlocal-minimal"], |
25 |
| - ["latest", "", "homebrew-macos-usrlocal-standard"], |
26 |
| - ["11", "xcode_13.2.1", "homebrew-macos-usrlocal-minimal"], |
| 27 | + [["11", "xcode_13.2.1", "homebrew-macos-usrlocal-minimal"], |
| 28 | + ["12", "", "homebrew-macos-usrlocal-minimal"], |
27 | 29 | ["12", "", "homebrew-macos-usrlocal-standard"],
|
| 30 | + ["12", "", "homebrew-macos-usrlocal-python3_xcode-standard"], |
| 31 | + ["12", "", "homebrew-macos-usrlocal-maximal"], |
28 | 32 | ["13", "xcode_15.0", "homebrew-macos-usrlocal-standard"],
|
29 |
| - ["latest", "", "homebrew-macos-usrlocal-maximal"], |
30 |
| - ["latest", "", "homebrew-macos-usrlocal-python3_xcode-standard"], |
| 33 | + ["14", "", "homebrew-macos-opthomebrew-standard"], |
31 | 34 | ["latest", "", "conda-forge-macos-minimal"],
|
32 |
| - ["latest", "", "conda-forge-macos-standard"]] |
| 35 | + ["latest", "", "conda-forge-macos-standard"], |
| 36 | + ["14", "", "conda-forge-macos-standard"]] |
33 | 37 | type: string
|
34 | 38 | extra_sage_packages:
|
35 | 39 | description: 'Extra Sage packages to install as system packages'
|
|
41 | 45 | free_disk_space:
|
42 | 46 | default: false
|
43 | 47 | type: boolean
|
| 48 | + timeout: |
| 49 | + description: 'Elapsed time (seconds) at which to kill the build' |
| 50 | + default: 20000 |
| 51 | + type: number |
44 | 52 | #
|
45 | 53 | # For use in upstream CIs.
|
46 | 54 | #
|
@@ -74,10 +82,16 @@ jobs:
|
74 | 82 | repository: ${{ inputs.sage_repo }}
|
75 | 83 | ref: ${{ inputs.sage_ref }}
|
76 | 84 | fetch-depth: 10000
|
77 |
| - |
| 85 | + - uses: actions/setup-python@v5 |
| 86 | + # As of 2024-02-03, the macOS M1 runners do not have preinstalled python or pipx. |
| 87 | + # Installing pipx follows the approach of https://github.com/pypa/cibuildwheel/pull/1743 |
| 88 | + id: python |
| 89 | + with: |
| 90 | + python-version: "3.8 - 3.12" |
| 91 | + update-environment: false |
78 | 92 | - name: Install test prerequisites
|
79 | 93 | run: |
|
80 |
| - brew install tox |
| 94 | + "${{ steps.python.outputs.python-path }}" -m pip install pipx |
81 | 95 | - name: Download upstream artifact
|
82 | 96 | uses: actions/download-artifact@v3
|
83 | 97 | with:
|
@@ -129,7 +143,8 @@ jobs:
|
129 | 143 | *) export TARGETS_PRE="${{ inputs.targets_pre }}" TARGETS="${{ inputs.targets }} TARGETS_OPTIONAL="${{ inputs.targets_optional }}
|
130 | 144 | ;;
|
131 | 145 | esac
|
132 |
| - MAKE="make -j12" tox -e $TOX_ENV -- SAGE_NUM_THREADS=4 $TARGETS |
| 146 | + (sleep ${{ inputs.timeout }}; pkill make) & |
| 147 | + MAKE="make -j12" EXTRA_SAGE_PACKAGES="${{ inputs.extra_sage_packages }}" "${{ steps.python.outputs.python-path }}" -m pipx run tox -e $TOX_ENV -- SAGE_NUM_THREADS=6 $TARGETS |
133 | 148 | - name: Prepare logs artifact
|
134 | 149 | run: |
|
135 | 150 | mkdir -p "artifacts/$LOGS_ARTIFACT_NAME"; cp -r .tox/*/log "artifacts/$LOGS_ARTIFACT_NAME"
|
|
0 commit comments