@@ -14,15 +14,15 @@ jobs:
1414 strategy :
1515 fail-fast : false
1616 matrix :
17- python-version : ["3.11", "3.12", "3.13"]
17+ python-version : ["3.11", "3.12", "3.13", "3.14" ]
1818 env :
1919 HOMEBREW_NO_AUTO_UPDATE : " 1"
2020 steps :
2121 - name : Cancel previous run
2222 uses : styfle/cancel-workflow-action@0.11.0
2323 with :
2424 access_token : ${{ github.token }}
25- - uses : actions/checkout@v3
25+ - uses : actions/checkout@v4
2626 with :
2727 fetch-depth : 0
2828 - uses : actions/setup-go@v5
@@ -36,10 +36,22 @@ jobs:
3636 uses : actions/setup-python@v5
3737 with :
3838 python-version : ${{ matrix.python-version }}
39+ - name : Pin CMake 3
40+ if : matrix.python-version == '3.14'
41+ run : |
42+ python -m pip install "cmake<4"
43+ CMAKE_BIN_DIR="$(python -c "import cmake; print(cmake.CMAKE_BIN_DIR)")"
44+ CMAKE_BIN="$CMAKE_BIN_DIR/cmake"
45+ echo "$CMAKE_BIN_DIR" >> "$GITHUB_PATH"
46+ sudo ln -sfn "$CMAKE_BIN" /usr/local/bin/cmake
47+ PATH="$CMAKE_BIN_DIR:$PATH" cmake --version
3948 - name : Install macOS dependencies
4049 run : |
41- brew install cmake ninja swig qt@5
42- sudo ln -sfn "$(brew --prefix cmake)/bin/cmake" /usr/local/bin/cmake
50+ brew install ninja swig qt@5
51+ if [ "${{ matrix.python-version }}" != "3.14" ]; then
52+ brew install cmake
53+ sudo ln -sfn "$(brew --prefix cmake)/bin/cmake" /usr/local/bin/cmake
54+ fi
4355 sudo ln -sfn "$(brew --prefix ninja)/bin/ninja" /usr/local/bin/ninja
4456 echo "BAZEL_RULES_QT_DIR=$(brew --prefix qt@5)" >> "$GITHUB_ENV"
4557 - name : Install bazelisk
8597 container : quay.io/pypa/manylinux_2_28_x86_64
8698 auditwheel-plat : manylinux_2_28_x86_64
8799 python-version : " 3.13"
100+ - arch : x86_64
101+ runner : ubuntu-24.04
102+ container : quay.io/pypa/manylinux_2_28_x86_64
103+ auditwheel-plat : manylinux_2_28_x86_64
104+ python-version : " 3.14"
88105 - arch : aarch64
89106 runner : ubuntu-24.04-arm
90107 container : quay.io/pypa/manylinux_2_28_aarch64
@@ -100,12 +117,17 @@ jobs:
100117 container : quay.io/pypa/manylinux_2_28_aarch64
101118 auditwheel-plat : manylinux_2_28_aarch64
102119 python-version : " 3.13"
120+ - arch : aarch64
121+ runner : ubuntu-24.04-arm
122+ container : quay.io/pypa/manylinux_2_28_aarch64
123+ auditwheel-plat : manylinux_2_28_aarch64
124+ python-version : " 3.14"
103125 steps :
104126 - name : Cancel previous run
105127 uses : styfle/cancel-workflow-action@0.11.0
106128 with :
107129 access_token : ${{ github.token }}
108- - uses : actions/checkout@v3
130+ - uses : actions/checkout@v4
109131 - name : Install build dependencies
110132 run : |
111133 dnf install -y git curl wget zsh gcc gcc-c++ cmake make ninja-build tmux golang java-17-openjdk-devel qt5-qtbase-devel qt5-qtdeclarative-devel
@@ -121,10 +143,21 @@ jobs:
121143 3.11) PYBIN=/opt/python/cp311-cp311/bin ;;
122144 3.12) PYBIN=/opt/python/cp312-cp312/bin ;;
123145 3.13) PYBIN=/opt/python/cp313-cp313/bin ;;
146+ 3.14) PYBIN=/opt/python/cp314-cp314/bin ;;
124147 *) echo "unsupported python version: ${{ matrix.python-version }}" >&2; exit 1 ;;
125148 esac
126149 echo "$PYBIN" >> "$GITHUB_PATH"
127150 "$PYBIN/python3" --version
151+ - name : Pin CMake 3
152+ if : matrix.python-version == '3.14'
153+ shell : bash
154+ run : |
155+ python -m pip install "cmake<4"
156+ CMAKE_BIN_DIR="$(python -c "import cmake; print(cmake.CMAKE_BIN_DIR)")"
157+ CMAKE_BIN="$CMAKE_BIN_DIR/cmake"
158+ echo "$CMAKE_BIN_DIR" >> "$GITHUB_PATH"
159+ ln -sfn "$CMAKE_BIN" /usr/local/bin/cmake
160+ PATH="$CMAKE_BIN_DIR:$PATH" cmake --version
128161 - name : Build
129162 run : |
130163 rm -rf dist wheelhouse
@@ -146,7 +179,7 @@ jobs:
146179 strategy :
147180 fail-fast : false
148181 matrix :
149- python-version : ["3.11", "3.12", "3.13"]
182+ python-version : ["3.11", "3.12", "3.13", "3.14" ]
150183 env :
151184 BAZEL_SH : C:/Program Files/Git/usr/bin/bash.exe
152185 MSYS2_ARG_CONV_EXCL : " *"
@@ -157,7 +190,7 @@ jobs:
157190 uses : styfle/cancel-workflow-action@0.11.0
158191 with :
159192 access_token : ${{ github.token }}
160- - uses : actions/checkout@v3
193+ - uses : actions/checkout@v4
161194 with :
162195 fetch-depth : 0
163196 - uses : actions/setup-go@v5
@@ -168,6 +201,13 @@ jobs:
168201 with :
169202 distribution : temurin
170203 java-version : " 17"
204+ - name : Shorten temp path
205+ shell : pwsh
206+ run : |
207+ New-Item -ItemType Directory -Path C:\tmp -Force | Out-Null
208+ Add-Content -Path $env:GITHUB_ENV -Value "TMP=C:\tmp"
209+ Add-Content -Path $env:GITHUB_ENV -Value "TEMP=C:\tmp"
210+ Add-Content -Path $env:GITHUB_ENV -Value "TMPDIR=C:\tmp"
171211 - name : Install Windows dependencies
172212 shell : pwsh
173213 run : |
@@ -193,6 +233,14 @@ jobs:
193233 uses : actions/setup-python@v5
194234 with :
195235 python-version : ${{ matrix.python-version }}
236+ - name : Pin CMake 3
237+ if : matrix.python-version == '3.14'
238+ shell : pwsh
239+ run : |
240+ python -m pip install "cmake<4"
241+ $cmakeBinDir = python -c "import cmake; print(cmake.CMAKE_BIN_DIR)"
242+ Add-Content -Path $env:GITHUB_PATH -Value $cmakeBinDir
243+ & (Join-Path $cmakeBinDir "cmake.exe") --version
196244 - name : Build
197245 shell : bash
198246 run : |
0 commit comments