Skip to content
Open
103 changes: 77 additions & 26 deletions .github/workflows/github_autotools_intel_classic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ 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:
Expand All @@ -11,54 +12,104 @@ concurrency:

jobs:
intel-autotools:
runs-on: ubuntu-latest
container:
image: intel/oneapi-hpckit:2023.1.0-devel-ubuntu20.04
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
runs-on: ubuntu-22.04
env:
CC: mpiicc
FC: mpiifort
CFLAGS: "-I/libs/include"
FCFLAGS: "-I/libs/include -g -traceback"
LDFLAGS: "-L/libs/lib -Wl,-rpath,/libs/lib"
LD_LIBRARY_PATH: "/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
key: intel-classic-ubuntu22-hdf5-1.14.6-netcdf-4.8.1-yaml-0.2.5-v2
- name: Install Intel Classic compilers & MPI
uses: NOAA-EMC/ci-install-intel-toolkit@develop
with:
install-classic: true
install-oneapi: false
install-mpi: true
mpi-wrapper-setup: classic
- name: Debug Intel compiler environment
run: |
set -eux
echo "PATH=$PATH"
echo "CC=$CC"
echo "FC=$FC"
command -v mpiicc
command -v mpiifort
command -v icc
command -v ifort
mpiicc -show
mpiifort -show
icc --version
ifort --version
- name: Install packages for building
run: apt-get update && apt-get install -y autoconf libtool automake zlibc zlib1g-dev
run: sudo apt-get update && sudo apt-get install -y autoconf libtool automake 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
set -eux
sudo mkdir -p /libs/include /libs/lib /libs/bin
sudo chown -R "$(id -u):$(id -g)" /libs
export PATH="/libs/bin:$PATH"
export LD_LIBRARY_PATH="/libs/lib:${LD_LIBRARY_PATH:-}"
export CPPFLAGS="-I/libs/include"
export CFLAGS="-I/libs/include"
export FCFLAGS="-I/libs/include"
export LDFLAGS="-L/libs/lib -Wl,-rpath,/libs/lib"
wget https://github.com/HDFGroup/hdf5/releases/download/hdf5_1.14.6/hdf5-1.14.6.tar.gz
tar xf hdf5-1.14.6.tar.gz && cd hdf5-1.14.6
./configure \
--prefix=/libs \
--enable-shared \
--enable-hl \
--with-zlib=/usr
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
make -j install
# sets this here to pass embeded configure checks
export LD_LIBRARY_PATH="/libs/lib:$LD_LIBRARY_PATH"
make -j -k build-netcdf-fortran
./configure \
--prefix=/libs \
--enable-remote-fortran-bootstrap \
--enable-fortran \
--with-hdf5=/libs
make -j
make install
make -j build-netcdf-fortran
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
make -j install && cd
make -j install
- name: checkout
uses: actions/checkout@v4.2.2
- name: Configure
run: |
set -eux
export PATH="/libs/bin:$PATH"
export LD_LIBRARY_PATH="/libs/lib:${LD_LIBRARY_PATH:-}"
export CPPFLAGS="-I/libs/include"
export CFLAGS="-I/libs/include"
export FCFLAGS="-I/libs/include -g -traceback"
export LDFLAGS="-L/libs/lib -Wl,-rpath,/libs/lib"
autoreconf -if ./configure.ac
export LD_LIBRARY_PATH="/libs/lib:$LD_LIBRARY_PATH"
./configure --with-yaml

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
./configure --with-yaml
./configure --with-yaml
cat config.log

cat config.log
- name: Compile
run: make -j || make
run: |
set -eux
export PATH="/libs/bin:$PATH"
export LD_LIBRARY_PATH="/libs/lib:${LD_LIBRARY_PATH:-}"
make -j || make
- name: Run test suite
run: make check LD_LIBRARY_PATH="/libs/lib:$LD_LIBRARY_PATH" TEST_VERBOSE=1
run: |
set -eux
export PATH="/libs/bin:$PATH"
export LD_LIBRARY_PATH="/libs/lib:${LD_LIBRARY_PATH:-}"
make check TEST_VERBOSE=1
Loading