@@ -343,6 +343,7 @@ jobs:
343
343
- name : Interface test
344
344
run : cmake3 --build build --target test_cmake_build
345
345
346
+
346
347
# Testing on GCC using the GCC docker images (only recent images supported)
347
348
gcc :
348
349
runs-on : ubuntu-latest
@@ -392,6 +393,78 @@ jobs:
392
393
run : cmake --build build --target test_cmake_build
393
394
394
395
396
+ # Testing on ICC using the oneAPI apt repo
397
+ icc :
398
+ runs-on : ubuntu-latest
399
+ strategy :
400
+ fail-fast : false
401
+
402
+ name : " 🐍 3 • ICC latest • x64"
403
+ container : " gcc"
404
+
405
+ steps :
406
+ - uses : actions/checkout@v1
407
+
408
+ - name : Add apt repo
409
+ run : |
410
+ apt-get update
411
+ apt-get install -y wget build-essential pkg-config cmake ca-certificates gnupg
412
+ wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
413
+ apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
414
+ echo "deb https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list
415
+
416
+ - name : Add ICC & Python 3
417
+ run : apt-get update; apt-get install -y intel-oneapi-dpcpp-cpp-compiler-pro intel-oneapi-python
418
+
419
+ - name : Update pip & pytest
420
+ shell : bash
421
+ run : |
422
+ set +e; source /opt/intel/oneapi/setvars.sh; set -e
423
+ python -m pip install --upgrade pip
424
+ python -m pip install --upgrade pytest
425
+
426
+ - name : Setup CMake 3.18
427
+ uses : jwlawson/actions-setup-cmake@v1.4
428
+ with :
429
+ cmake-version : 3.18
430
+
431
+ - name : Configure
432
+ shell : bash
433
+ run : |
434
+ set +e; source /opt/intel/oneapi/setvars.sh; set -e
435
+ cmake -S . -B build \
436
+ -DPYBIND11_WERROR=ON \
437
+ -DDOWNLOAD_CATCH=ON \
438
+ -DDOWNLOAD_EIGEN=ON \
439
+ -DCMAKE_CXX_STANDARD=11 \
440
+ -DCMAKE_CXX_COMPILER=$(which icpc) \
441
+ -DPYTHON_EXECUTABLE=$(python -c "import sys; print(sys.executable)")
442
+
443
+ - name : Build
444
+ shell : bash
445
+ run : |
446
+ set +e; source /opt/intel/oneapi/setvars.sh; set -e
447
+ cmake --build build -j 2
448
+
449
+ - name : Python tests
450
+ shell : bash
451
+ run : |
452
+ set +e; source /opt/intel/oneapi/setvars.sh; set -e
453
+ cmake --build build --target pytest
454
+
455
+ - name : C++ tests
456
+ shell : bash
457
+ run : |
458
+ set +e; source /opt/intel/oneapi/setvars.sh; set -e
459
+ cmake --build build --target cpptest
460
+
461
+ - name : Interface test
462
+ shell : bash
463
+ run : |
464
+ set +e; source /opt/intel/oneapi/setvars.sh; set -e
465
+ cmake --build build --target test_cmake_build
466
+
467
+
395
468
# Testing on CentOS (manylinux uses a centos base, and this is an easy way
396
469
# to get GCC 4.8, which is the manylinux1 compiler).
397
470
centos :
0 commit comments