summaryrefslogtreecommitdiffstats
path: root/.github/workflows/intel-auto.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/intel-auto.yml')
-rw-r--r--.github/workflows/intel-auto.yml83
1 files changed, 36 insertions, 47 deletions
diff --git a/.github/workflows/intel-auto.yml b/.github/workflows/intel-auto.yml
index 7bd457c..8f767e7 100644
--- a/.github/workflows/intel-auto.yml
+++ b/.github/workflows/intel-auto.yml
@@ -1,4 +1,4 @@
-name: hdf5 dev autotools icx CI
+name: hdf5 dev autotools icx
on:
workflow_call:
@@ -12,49 +12,33 @@ permissions:
contents: read
jobs:
- Intel_build_and_test:
- name: "Intel ${{ inputs.build_mode }}"
+ intel_oneapi_linux:
+ name: "linux-oneapi ${{ inputs.build_mode }}"
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4.1.1
+ - name: Get Sources
+ uses: actions/checkout@v4.1.1
- name: Install Dependencies
+ shell: bash
run: |
sudo apt-get update
sudo apt-get install autoconf automake libtool libtool-bin libaec-dev
- - name: Add oneAPI to apt
- shell: bash
- run: |
- cd /tmp
- wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
- sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
- rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
- sudo add-apt-repository -y "deb https://apt.repos.intel.com/oneapi all main"
-
- - name: Install oneAPI dpcpp and fortran compiler
- shell: bash
- run: |
- sudo apt update
- sudo apt install -y intel-oneapi-compiler-dpcpp-cpp
- sudo apt install -y intel-oneapi-compiler-fortran
- sudo apt install -y intel-oneapi-mpi-devel
- sudo apt-get install doxygen graphviz
- sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
- echo "CC=icx" >> $GITHUB_ENV
- echo "CXX=icpx" >> $GITHUB_ENV
- echo "FC=ifx" >> $GITHUB_ENV
-
- - name: Install oneAPI MKL library
- shell: bash
- run: |
- sudo apt install -y intel-oneapi-mkl-devel
+ - name: Install oneAPI (Linux)
+ uses: fortran-lang/setup-fortran@v1
+ id: setup-fortran
+ with:
+ compiler: intel
+ version: '2024.0'
- name: Autotools Configure
shell: bash
+ env:
+ FC: ${{ steps.setup-fortran.outputs.fc }}
+ CC: ${{ steps.setup-fortran.outputs.cc }}
+ CXX: ${{ steps.setup-fortran.outputs.cxx }}
run: |
- source /opt/intel/oneapi/setvars.sh
- export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin
sh ./autogen.sh
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
@@ -63,37 +47,42 @@ jobs:
--enable-shared \
--disable-fortran
- # BUILD
- name: Autotools Build
+ shell: bash
+ env:
+ FC: ${{ steps.setup-fortran.outputs.fc }}
+ CC: ${{ steps.setup-fortran.outputs.cc }}
+ CXX: ${{ steps.setup-fortran.outputs.cxx }}
run: |
- source /opt/intel/oneapi/setvars.sh
- export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin
make -j3
working-directory: ${{ runner.workspace }}/build
- # RUN TESTS
- # NORMAL
- name: Autotools Run Tests
+ shell: bash
+ env:
+ FC: ${{ steps.setup-fortran.outputs.fc }}
+ CC: ${{ steps.setup-fortran.outputs.cc }}
+ CXX: ${{ steps.setup-fortran.outputs.cxx }}
run: |
- source /opt/intel/oneapi/setvars.sh
- export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin
- export SYCL_DEVICE_FILTER=opencl.cpu
make check -j2
working-directory: ${{ runner.workspace }}/build
- # INSTALL (note that this runs even when we don't run the tests)
- name: Autotools Install
+ shell: bash
+ env:
+ FC: ${{ steps.setup-fortran.outputs.fc }}
+ CC: ${{ steps.setup-fortran.outputs.cc }}
+ CXX: ${{ steps.setup-fortran.outputs.cxx }}
run: |
- source /opt/intel/oneapi/setvars.sh
- export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin
- export SYCL_DEVICE_FILTER=opencl.cpu
make install
working-directory: ${{ runner.workspace }}/build
- name: Autotools Verify Install
+ shell: bash
+ env:
+ FC: ${{ steps.setup-fortran.outputs.fc }}
+ CC: ${{ steps.setup-fortran.outputs.cc }}
+ CXX: ${{ steps.setup-fortran.outputs.cxx }}
run: |
- source /opt/intel/oneapi/setvars.sh
- export PATH=$PATH:/opt/intel/oneapi/compiler/2023.2.1/linux/bin
- export SYCL_DEVICE_FILTER=opencl.cpu
make check-install
working-directory: ${{ runner.workspace }}/build