@@ -23,14 +23,22 @@ concurrency:
2323 group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
2424 cancel-in-progress : true
2525
26+ env :
27+ UBUNTU_VERSION : " ubuntu-22.04"
28+ MACOS_VERSION : " macos-latest"
29+ WINDOWS_VERSION : " windows-latest"
30+
2631jobs :
2732 # #
2833 # This job matrix builds the non-CUDA versions of the libraries for all supported platforms.
2934 # #
3035 build-shared-libs :
3136 strategy :
3237 matrix :
33- os : [ubuntu-22.04, macos-latest, windows-latest]
38+ os :
39+ - ${{ env.UBUNTU_VERSION }}
40+ - ${{ env.MACOS_VERSION }}
41+ - ${{ env.WINDOWS_VERSION }}
3442 arch : [x86_64, aarch64]
3543 exclude :
3644 - os : windows-latest # This probably requires arm64 Windows agents
@@ -61,14 +69,17 @@ jobs:
6169 strategy :
6270 fail-fast : false
6371 matrix :
64- os : [ubuntu-latest, windows-latest]
72+ os :
73+ # NOTE: The CUDA Docker image is hard-coded in the build script, so the Ubuntu version here only affects the runner, not the build environment:
74+ - ${{ env.UBUNTU_VERSION }}
75+ - ${{ env.WINDOWS_VERSION }}
6576 arch : [x86_64, aarch64]
6677 cuda_version :
6778 ["11.7.1", "11.8.0", "12.0.1", "12.1.1", "12.2.2", "12.3.2", "12.4.1", "12.5.1", "12.6.3", "12.8.1"]
6879 exclude :
69- - os : windows-latest # This probably requires arm64 Windows agents
80+ - os : ${{ env.WINDOWS_VERSION }} # This probably requires arm64 Windows agents
7081 arch : aarch64
71- - os : ubuntu-latest # Temporary. Takes too long, not ready yet.
82+ - os : ${{ env.UBUNTU_VERSION }} # Temporary. Takes too long, not ready yet.
7283 arch : aarch64
7384 runs-on : ${{ matrix.os }} # One day, we could run them on native agents. Azure supports this now but it's planned only for Q3 2023 for hosted agents
7485 steps :
@@ -109,16 +120,19 @@ jobs:
109120 - build-shared-libs-cuda
110121 strategy :
111122 matrix :
112- os : [ubuntu-latest, macos-latest, windows-latest]
123+ os :
124+ - ${{ env.UBUNTU_VERSION }}
125+ - ${{ env.MACOS_VERSION }}
126+ - ${{ env.WINDOWS_VERSION }}
113127 # The specific Python version is irrelevant in this context as we are only packaging non-C extension
114128 # code. This ensures compatibility across Python versions, including Python 3.9, as compatibility is
115129 # dictated by the packaged code itself, not the Python version used for packaging.
116130 python-version : ["3.10"]
117131 arch : [x86_64, aarch64]
118132 exclude :
119- - os : windows-latest # This probably requires arm64 Windows agents
133+ - os : ${{ env.WINDOWS_VERSION }} # This probably requires arm64 Windows agents
120134 arch : aarch64
121- - os : ubuntu-latest # Temporary. Takes too long, not ready yet.
135+ - os : ${{ env.UBUNTU_VERSION }} # Temporary. Takes too long, not ready yet.
122136 arch : aarch64
123137 runs-on : ${{ matrix.os }}
124138 steps :
0 commit comments