|
69 | 69 | python: 3.9-dev |
70 | 70 | arch: x64 |
71 | 71 |
|
72 | | - |
73 | 72 | name: "🐍 ${{ matrix.python }} • ${{ matrix.runs-on }} • ${{ matrix.arch }} ${{ matrix.args }}" |
74 | 73 | runs-on: ${{ matrix.runs-on }} |
75 | 74 | continue-on-error: ${{ endsWith(matrix.python, 'dev') }} |
@@ -196,6 +195,114 @@ jobs: |
196 | 195 | - name: Interface test |
197 | 196 | run: cmake --build build --target test_cmake_build |
198 | 197 |
|
| 198 | + |
| 199 | + cuda: |
| 200 | + runs-on: ubuntu-latest |
| 201 | + name: "🐍 3.8 • CUDA 11 • Ubuntu 20.04" |
| 202 | + container: nvidia/cuda:11.0-devel-ubuntu20.04 |
| 203 | + |
| 204 | + steps: |
| 205 | + - uses: actions/checkout@v2 |
| 206 | + |
| 207 | + # tzdata will try to ask for the timezone, so set the DEBIAN_FRONTEND |
| 208 | + - name: Install 🐍 3 |
| 209 | + run: apt-get update && DEBIAN_FRONTEND="noninteractive" apt-get install -y cmake git python3-dev python3-pytest python3-numpy |
| 210 | + |
| 211 | + - name: Configure |
| 212 | + run: cmake -S . -B build -DPYBIND11_CUDA_TESTS=ON -DPYBIND11_WERROR=ON -DDOWNLOAD_CATCH=ON |
| 213 | + |
| 214 | + - name: Build |
| 215 | + run: cmake --build build -j2 --verbose |
| 216 | + |
| 217 | + - name: Python tests |
| 218 | + run: cmake --build build --target pytest |
| 219 | + |
| 220 | + |
| 221 | + centos-nvhpc8: |
| 222 | + runs-on: ubuntu-latest |
| 223 | + name: "🐍 3 • CentOS8 / PGI 20.7 • x64" |
| 224 | + container: centos:8 |
| 225 | + |
| 226 | + steps: |
| 227 | + - uses: actions/checkout@v2 |
| 228 | + |
| 229 | + - name: Add Python 3 and a few requirements |
| 230 | + run: yum update -y && yum install -y git python3-devel python3-numpy python3-pytest make environment-modules |
| 231 | + |
| 232 | + - name: Install CMake with pip |
| 233 | + run: | |
| 234 | + python3 -m pip install --upgrade pip |
| 235 | + python3 -m pip install cmake --prefer-binary |
| 236 | +
|
| 237 | + - name: Install NVidia HPC SDK |
| 238 | + run: yum -y install https://developer.download.nvidia.com/hpc-sdk/nvhpc-20-7-20.7-1.x86_64.rpm https://developer.download.nvidia.com/hpc-sdk/nvhpc-2020-20.7-1.x86_64.rpm |
| 239 | + |
| 240 | + - name: Configure |
| 241 | + shell: bash |
| 242 | + run: | |
| 243 | + source /etc/profile.d/modules.sh |
| 244 | + module load /opt/nvidia/hpc_sdk/modulefiles/nvhpc/20.7 |
| 245 | + cmake -S . -B build -DDOWNLOAD_CATCH=ON -DCMAKE_CXX_STANDARD=14 -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)") |
| 246 | +
|
| 247 | + - name: Build |
| 248 | + run: cmake --build build -j 2 --verbose |
| 249 | + |
| 250 | + - name: Python tests |
| 251 | + run: cmake --build build --target pytest |
| 252 | + |
| 253 | + - name: C++ tests |
| 254 | + run: cmake --build build --target cpptest |
| 255 | + |
| 256 | + - name: Interface test |
| 257 | + run: cmake --build build --target test_cmake_build |
| 258 | + |
| 259 | + centos-nvhpc7: |
| 260 | + runs-on: ubuntu-latest |
| 261 | + name: "🐍 3 • CentOS7 / PGI 20.7 • x64" |
| 262 | + container: centos:7 |
| 263 | + |
| 264 | + steps: |
| 265 | + - uses: actions/checkout@v2 |
| 266 | + |
| 267 | + - name: Add Python 3 and a few requirements |
| 268 | + run: yum update -y && yum install -y epel-release && yum install -y git python3-devel make environment-modules cmake3 |
| 269 | + |
| 270 | + - name: Install NVidia HPC SDK |
| 271 | + run: yum -y install https://developer.download.nvidia.com/hpc-sdk/nvhpc-20-7-20.7-1.x86_64.rpm https://developer.download.nvidia.com/hpc-sdk/nvhpc-2020-20.7-1.x86_64.rpm |
| 272 | + |
| 273 | + # On CentOS 7, we have to filter a few tests (compiler internal error) |
| 274 | + # and allow deeper templete recursion (not needed on CentOS 8 with a newer |
| 275 | + # standard library). On some systems, you many need further workarounds: |
| 276 | + # https://github.com/pybind/pybind11/pull/2475 |
| 277 | + - name: Configure |
| 278 | + shell: bash |
| 279 | + run: | |
| 280 | + source /etc/profile.d/modules.sh |
| 281 | + module load /opt/nvidia/hpc_sdk/modulefiles/nvhpc/20.7 |
| 282 | + cmake3 -S . -B build -DDOWNLOAD_CATCH=ON \ |
| 283 | + -DCMAKE_CXX_STANDARD=11 \ |
| 284 | + -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)") \ |
| 285 | + -DCMAKE_CXX_FLAGS="-Wc,--pending_instantiations=0" \ |
| 286 | + -DPYBIND11_TEST_FILTER="test_smart_ptr.cpp;test_virtual_functions.cpp" |
| 287 | +
|
| 288 | + # Building before installing Pip should produce a warning but not an error |
| 289 | + - name: Build |
| 290 | + run: cmake3 --build build -j 2 --verbose |
| 291 | + |
| 292 | + - name: Install CMake with pip |
| 293 | + run: | |
| 294 | + python3 -m pip install --upgrade pip |
| 295 | + python3 -m pip install pytest |
| 296 | +
|
| 297 | + - name: Python tests |
| 298 | + run: cmake3 --build build --target pytest |
| 299 | + |
| 300 | + - name: C++ tests |
| 301 | + run: cmake3 --build build --target cpptest |
| 302 | + |
| 303 | + - name: Interface test |
| 304 | + run: cmake3 --build build --target test_cmake_build |
| 305 | + |
199 | 306 | gcc: |
200 | 307 | runs-on: ubuntu-latest |
201 | 308 | strategy: |
@@ -243,6 +350,7 @@ jobs: |
243 | 350 | - name: Interface test |
244 | 351 | run: cmake --build build --target test_cmake_build |
245 | 352 |
|
| 353 | + |
246 | 354 | centos: |
247 | 355 | runs-on: ubuntu-latest |
248 | 356 | strategy: |
@@ -289,27 +397,6 @@ jobs: |
289 | 397 | - name: Interface test |
290 | 398 | run: cmake --build build --target test_cmake_build |
291 | 399 |
|
292 | | - cuda: |
293 | | - runs-on: ubuntu-latest |
294 | | - name: "🐍 3.8 • CUDA 11 • Ubuntu 20.04" |
295 | | - container: nvidia/cuda:11.0-devel-ubuntu20.04 |
296 | | - |
297 | | - steps: |
298 | | - - uses: actions/checkout@v2 |
299 | | - |
300 | | - # tzdata will try to ask for the timezone, so set the DEBIAN_FRONTEND |
301 | | - - name: Install 🐍 3 |
302 | | - run: apt-get update && DEBIAN_FRONTEND="noninteractive" apt-get install -y cmake python3-dev python3-pytest |
303 | | - |
304 | | - - name: Configure |
305 | | - run: cmake -S . -B build -DPYBIND11_CUDA_TESTS=ON -DPYBIND11_WERROR=ON -DDOWNLOAD_CATCH=ON |
306 | | - |
307 | | - - name: Build |
308 | | - run: cmake --build build -j2 -v |
309 | | - |
310 | | - - name: Python tests |
311 | | - run: cmake --build build --target pytest |
312 | | - |
313 | 400 |
|
314 | 401 | install-classic: |
315 | 402 | name: "🐍 3.5 • Debian • x86 • Install" |
|
0 commit comments