diff options
Diffstat (limited to '.github/workflows/intel-auto.yml')
-rw-r--r-- | .github/workflows/intel-auto.yml | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/.github/workflows/intel-auto.yml b/.github/workflows/intel-auto.yml new file mode 100644 index 0000000..f5249bd --- /dev/null +++ b/.github/workflows/intel-auto.yml @@ -0,0 +1,97 @@ +name: hdf5 dev autotools icx CI + +on: + workflow_call: + inputs: + build_mode: + description: "release vs. debug build" + required: true + type: string + +permissions: + contents: read + +jobs: + Intel_build_and_test: + name: "Intel ${{ inputs.build_mode }} -Werror (build only)" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install Dependencies + 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: Autotools Configure + shell: bash + 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" + $GITHUB_WORKSPACE/configure \ + --enable-build-mode=${{ inputs.build_mode }} \ + --enable-shared \ + --disable-fortran + + # BUILD + - name: Autotools Build + 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 + 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 + 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 + 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 |