diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index dbc1db368..637c2eddb 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -25,12 +25,17 @@ jobs: - {compiler: gcc, version: 11} - {compiler: gcc, version: 12} - {compiler: gcc, version: 13} + - {compiler: intel, version: '2024.1'} + - {compiler: intel-classic, version: '2021.9'} build: [cmake] include: - os: ubuntu-latest build: cmake-inline toolchain: - {compiler: gcc, version: 10} + exclude: + - os: macos-12 + toolchain: {compiler: intel, version: '2024.1'} env: BUILD_DIR: ${{ matrix.build == 'cmake' && 'build' || '.' }} @@ -82,157 +87,3 @@ jobs: - name: Install project if: ${{ contains(matrix.build, 'cmake') }} run: cmake --install ${{ env.BUILD_DIR }} - - intel-build-llvm: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] - fc: [ifx] - cc: [icx] - cxx: [icpx] - env: - FC: ${{ matrix.fc }} - CC: ${{ matrix.cc }} - CXX: ${{ matrix.cxx }} - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up Python 3.x - uses: actions/setup-python@v5 - with: - python-version: 3.x - - - name: Add Intel repository (Linux) - if: contains(matrix.os, 'ubuntu') - run: | - wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \ | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null - echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list - sudo apt-get update - - - name: Install Intel oneAPI compiler (Linux) - if: contains(matrix.os, 'ubuntu') - run: | - sudo apt-get install intel-oneapi-compiler-fortran - sudo apt-get install intel-oneapi-compiler-dpcpp-cpp - - - name: Setup Intel oneAPI environment - run: | - source /opt/intel/oneapi/setvars.sh - printenv >> $GITHUB_ENV - - - name: Install fypp - run: pip install --upgrade fypp - - - name: Configure with CMake - run: >- - cmake -Wdev - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_MAXIMUM_RANK:String=4 - -DCMAKE_INSTALL_PREFIX=$PWD/_dist - -S . -B build - - - name: Build and compile - run: cmake --build build - - - name: catch build fail - run: cmake --build build --verbose --parallel 1 - if: failure() - - - name: test - run: ctest --parallel --output-on-failure --no-tests=error - working-directory: build - - - name: Install project - run: cmake --install build - - intel-build-classic: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [macos-12] - fc: [ifort] - cc: [icc] - cxx: [icpc] - env: - MACOS_HPCKIT_URL: >- - https://registrationcenter-download.intel.com/akdlm/IRC_NAS/a99cb1c5-5af6-4824-9811-ae172d24e594/m_HPCKit_p_2023.1.0.44543.dmg - MACOS_FORTRAN_COMPONENTS: all - FC: ${{ matrix.fc }} - CC: ${{ matrix.cc }} - CXX: ${{ matrix.cxx }} - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up Python 3.x - uses: actions/setup-python@v5 - with: - python-version: 3.x - - - name: Prepare for cache restore (OSX) - if: contains(matrix.os, 'macos') - run: | - sudo mkdir -p /opt/intel - sudo chown $USER /opt/intel - - - name: Cache Intel install (OSX) - if: contains(matrix.os, 'macos') - id: cache-install - uses: actions/cache@v2 - with: - path: /opt/intel/oneapi - key: install-${{ env.MACOS_HPCKIT_URL }}-${{ env.MACOS_FORTRAN_COMPONENTS }} - - - name: Install Intel oneAPI compiler (OSX) - if: contains(matrix.os, 'macos') && steps.cache-install.outputs.cache-hit != 'true' - run: | - curl --output webimage.dmg --url "$URL" --retry 5 --retry-delay 5 - hdiutil attach webimage.dmg - if [ -z "$COMPONENTS" ]; then - sudo /Volumes/"$(basename "$URL" .dmg)"/bootstrapper.app/Contents/MacOS/bootstrapper -s --action install --eula=accept --continue-with-optional-error=yes --log-dir=. - installer_exit_code=$? - else - sudo /Volumes/"$(basename "$URL" .dmg)"/bootstrapper.app/Contents/MacOS/bootstrapper -s --action install --components="$COMPONENTS" --eula=accept --continue-with-optional-error=yes --log-dir=. - installer_exit_code=$? - fi - hdiutil detach /Volumes/"$(basename "$URL" .dmg)" -quiet - exit $installer_exit_code - env: - URL: ${{ env.MACOS_HPCKIT_URL }} - COMPONENTS: ${{ env.MACOS_FORTRAN_COMPONENTS }} - - - name: Setup Intel oneAPI environment - run: | - source /opt/intel/oneapi/setvars.sh - printenv >> $GITHUB_ENV - - - name: Install fypp - run: pip install --upgrade fypp - - - name: Configure with CMake - run: >- - cmake -Wdev - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_MAXIMUM_RANK:String=4 - -DCMAKE_INSTALL_PREFIX=$PWD/_dist - -S . -B build - - - name: Build and compile - run: cmake --build build - - - name: catch build fail - run: cmake --build build --verbose --parallel 1 - if: failure() - - - name: test - run: ctest --parallel --output-on-failure --no-tests=error - working-directory: build - - - name: Install project - run: cmake --install build