Fix Intel CI workflow and migrate off Intel container images #24
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Autotools build and unit testing with Intel Classic (weekly) | |
| on: | |
| schedule: | |
| - cron: '0 0 * * 0' # sundays @ midnight | |
| pull_request: | |
| # cancel running jobs if theres a newer push | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| intel-autotools: | |
| runs-on: ubuntu-latest | |
| env: | |
| CC: mpiicc | |
| FC: mpiifort | |
| CFLAGS: "-I/libs/include" | |
| FCFLAGS: "-I/libs/include -g -traceback" | |
| LDFLAGS: "-L/libs/lib" | |
| TEST_VERBOSE: 1 | |
| I_MPI_FABRICS: "shm" # needed for mpi in image | |
| steps: | |
| - name: Cache dependencies | |
| id: cache | |
| uses: actions/cache@v4.2.0 | |
| with: | |
| path: /libs | |
| key: intel-libs | |
| - name: Install Intel compilers & MPI | |
| uses: NOAA-EMC/ci-install-intel-toolkit@develop | |
| with: | |
| install-classic: true | |
| install-oneapi: true | |
| install-mpi: true | |
| mpi-wrapper-setup: classic | |
| - name: Install packages for building | |
| run: sudo apt-get update && apt-get install -y autoconf libtool automake zlibc zlib1g-dev | |
| - if: steps.cache.outputs.cache-hit != 'true' | |
| name: Build netcdf | |
| run: | | |
| mkdir /libs | |
| wget https://hdf-wordpress-1.s3.amazonaws.com/wp-content/uploads/manual/HDF5/HDF5_1_12_2/source/hdf5-1.12.2.tar.gz | |
| tar xf hdf5-1.12.2.tar.gz && cd hdf5-1.12.2 | |
| ./configure --prefix=/libs | |
| sudo make -j install && cd .. | |
| wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.8.1.tar.gz | |
| tar xf v4.8.1.tar.gz && cd netcdf-c-4.8.1 | |
| ./configure --prefix=/libs --enable-remote-fortran-bootstrap | |
| sudo make -j install | |
| # sets this here to pass embeded configure checks | |
| export LD_LIBRARY_PATH="/libs/lib:$LD_LIBRARY_PATH" | |
| sudo make -j -k build-netcdf-fortran | |
| sudo make -j install-netcdf-fortran | |
| wget https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz | |
| tar xf yaml-0.2.5.tar.gz && cd yaml-0.2.5 | |
| ./configure --prefix=/libs | |
| sudo make -j install && cd | |
| - name: checkout | |
| uses: actions/checkout@v4.2.2 | |
| - name: Configure | |
| run: | | |
| autoreconf -if ./configure.ac | |
| export LD_LIBRARY_PATH="/libs/lib:$LD_LIBRARY_PATH" | |
| ./configure --with-yaml | |
| - name: Compile | |
| run: make -j || make | |
| - name: Run test suite | |
| run: make check LD_LIBRARY_PATH="/libs/lib:$LD_LIBRARY_PATH" TEST_VERBOSE=1 |