@@ -465,6 +465,77 @@ jobs:
465465 run : cmake --build build --target test_cmake_build
466466
467467
468+ # Testing on ICC using the oneAPI apt repo
469+ icc :
470+ runs-on : ubuntu-20.04
471+ strategy :
472+ fail-fast : false
473+
474+ name : " 🐍 3 • ICC latest • x64"
475+
476+ steps :
477+ - uses : actions/checkout@v1
478+
479+ - name : Add apt repo
480+ run : |
481+ sudo apt-get update
482+ sudo apt-get install -y wget build-essential pkg-config cmake ca-certificates gnupg
483+ wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
484+ sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
485+ echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
486+
487+ - name : Add ICC & Python 3
488+ run : sudo apt-get update; sudo apt-get install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic cmake python3-dev python3-numpy python3-pytest python3-pip
489+
490+ - name : Update pip
491+ shell : bash
492+ run : |
493+ set +e; source /opt/intel/oneapi/setvars.sh; set -e
494+ python3 -m pip install --upgrade pip
495+ - name : Install dependencies
496+ run : |
497+ set +e; source /opt/intel/oneapi/setvars.sh; set -e
498+ python3 -m pip install -r tests/requirements.txt --prefer-binary
499+
500+ - name : Configure
501+ shell : bash
502+ run : |
503+ set +e; source /opt/intel/oneapi/setvars.sh; set -e
504+ cmake -S . -B build \
505+ -DPYBIND11_WERROR=ON \
506+ -DDOWNLOAD_CATCH=ON \
507+ -DDOWNLOAD_EIGEN=OFF \
508+ -DCMAKE_CXX_STANDARD=11 \
509+ -DCMAKE_CXX_COMPILER=$(which icpc) \
510+ -DCMAKE_VERBOSE_MAKEFILE=ON \
511+ -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
512+
513+ - name : Build
514+ shell : bash
515+ run : |
516+ set +e; source /opt/intel/oneapi/setvars.sh; set -e
517+ cmake --build build -j 2
518+
519+ - name : Python tests
520+ shell : bash
521+ run : |
522+ set +e; source /opt/intel/oneapi/setvars.sh; set -e
523+ sudo service apport stop
524+ cmake --build build --target check
525+
526+ - name : C++ tests
527+ shell : bash
528+ run : |
529+ set +e; source /opt/intel/oneapi/setvars.sh; set -e
530+ cmake --build build --target cpptest
531+
532+ - name : Interface test
533+ shell : bash
534+ run : |
535+ set +e; source /opt/intel/oneapi/setvars.sh; set -e
536+ cmake --build build --target test_cmake_build
537+
538+
468539 # Testing on ICX/ICPX, Intel's next-gen C/C++ compiler using the oneAPI apt repo
469540 icx :
470541 runs-on : ubuntu-20.04
@@ -491,6 +562,7 @@ jobs:
491562 run : |
492563 set +e; source /opt/intel/oneapi/setvars.sh; set -e
493564 python3 -m pip install --upgrade pip
565+
494566 - name : Install dependencies
495567 run : |
496568 set +e; source /opt/intel/oneapi/setvars.sh; set -e
0 commit comments