16
16
options :
17
17
- ' '
18
18
- ' ubuntu-20.04'
19
+ - ' ubuntu-24.04'
19
20
- ' macos-12'
20
21
- ' macos-14'
21
22
- ' windows-2019'
60
61
fail-fast : false
61
62
matrix :
62
63
# Use Ubuntu 20.04 / macOS 13 x86_64 / macOS 14 arm64 + Python 3.10 to build SpiderMonkey
63
- os : [ 'ubuntu-20.04', 'macos-13', 'macos-14' ] # macOS 14 runner exclusively runs on M1 hardwares
64
+ os : [ 'ubuntu-20.04','ubuntu-24.04', 'macos-13', 'macos-14' ] # macOS 14 runner exclusively runs on M1 hardwares
64
65
# see https://github.blog/changelog/2024-01-30-github-actions-macos-14-sonoma-is-now-available
65
66
python_version : [ '3.10' ]
66
67
runs-on : ${{ matrix.os }}
@@ -123,7 +124,7 @@ jobs:
123
124
fail-fast : false
124
125
matrix :
125
126
# The lowest supported version is Ubuntu 20.04 + Python 3.8 or macOS 12 + Python 3.9
126
- os : [ 'ubuntu-20.04', 'macos-12', 'macos-14', 'windows-2019' ]
127
+ os : [ 'ubuntu-20.04', 'ubuntu-24.04', ' macos-12', 'macos-14', 'windows-2019' ]
127
128
python_version : [ '3.8', '3.9', '3.10', '3.11', '3.12' ]
128
129
exclude :
129
130
# actions/setup-python: The version '3.8'/'3.9' with architecture 'arm64' was not found for macOS.
@@ -162,7 +163,7 @@ jobs:
162
163
poetry install --no-root --only=dev
163
164
echo "Installed Dependencies"
164
165
- name : Build Docs # only build docs once
165
- if : ${{ matrix.os == 'ubuntu-20.04' && matrix.python_version == '3.11' }}
166
+ if : ${{ ( matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-24.04') && matrix.python_version == '3.11' }}
166
167
run : |
167
168
sudo apt-get install -y graphviz
168
169
# the newest version in Ubuntu 20.04 repository is 1.8.17, but we need Doxygen 1.9 series
@@ -172,7 +173,7 @@ jobs:
172
173
rm -rf doxygen-1.9.7 doxygen-1.9.7.linux.bin.tar.gz
173
174
BUILD_DOCS=1 BUILD_TYPE=None poetry install
174
175
- name : Upload Doxygen-generated docs as CI artifacts
175
- if : ${{ matrix.os == 'ubuntu-20.04' && matrix.python_version == '3.11' }}
176
+ if : ${{ ( matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-24.04') && matrix.python_version == '3.11' }}
176
177
uses : actions/upload-artifact@v3
177
178
with :
178
179
name : docs-${{ github.run_id }}-${{ github.sha }}
@@ -244,7 +245,7 @@ jobs:
244
245
name : cores-${{ matrix.os }}-${{ matrix.python_version }}
245
246
path : /cores
246
247
sdist :
247
- runs-on : ubuntu-20.04
248
+ runs-on : [ ubuntu-20.04,ubuntu-24.04]
248
249
steps :
249
250
- uses : actions/checkout@v4
250
251
with :
@@ -268,7 +269,7 @@ jobs:
268
269
path : ./dist/
269
270
publish :
270
271
needs : [build-and-test, sdist]
271
- runs-on : ubuntu-20.04
272
+ runs-on : [ ubuntu-20.04,ubuntu-24.04]
272
273
if : ${{ success() && github.event_name == 'push' && contains(github.ref, 'refs/tags/') }}
273
274
steps :
274
275
# no need to checkout
@@ -291,7 +292,7 @@ jobs:
291
292
# Implement a very basic Python package repository (https://peps.python.org/pep-0503/)
292
293
# and deploy the static files to GitHub Pages
293
294
needs : [build-and-test, sdist]
294
- runs-on : ubuntu-20.04
295
+ runs-on : [ ubuntu-20.04,ubuntu-24.04]
295
296
if : ${{ (success() || failure()) && github.ref_name == 'main' }} # publish nightly builds regardless of tests failure
296
297
permissions : # grant GITHUB_TOKEN the permissions required to make a Pages deployment
297
298
pages : write
0 commit comments