Skip to content

netcdf ubuntu ci 8

netcdf ubuntu ci 8 #8

Workflow file for this run

name: netcdf-4.7.4_pnetcdf-12.1_ncint_openmpi_4.0.4
on:
push:
branches: [ master, netcdf-ci-test2 ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
env:
CPPFLAGS: "-I/home/runner/openmpi/include -I/home/runner/hdf5/include -I/home/runner/netcdf-c/include -I/home/runner/netcdf-fortran/include -I/home/runner/pnetcdf/include"
LDFLAGS: "-L/home/runner/openmpi/lib -L/home/runner/hdf5/lib -L/home/runner/netcdf-c/lib -L/home/runner/netcdf-fortran/lib -L/home/runner/pnetcdf/lib"
steps:
- uses: actions/checkout@v2
- name: Installs
run: |
sudo apt-get update
sudo apt-get install doxygen graphviz wget gfortran libjpeg-dev libz-dev libcurl4-openssl-dev
- name: cache-openmpi
id: cache-openmpi
uses: actions/cache@v2
with:
path: ~/openmpi
key: openmpi-${{ runner.os }}-4.0.4
- name: build-openmpi
if: steps.cache-openmpi.outputs.cache-hit != 'true'
run: |
#wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.4.tar.gz &> /dev/null
#tar -xzf openmpi-4.0.4.tar.gz
#pushd openmpi-4.0.4
wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.5.tar.gz &> /dev/null
tar -xzf openmpi-4.1.5.tar.gz
pushd openmpi-4.1.5
./configure --prefix=/home/runner/openmpi
make
sudo make install
popd
- name: cache-hdf5
id: cache-hdf5
uses: actions/cache@v2
with:
path: ~/hdf5
key: hdf5-${{ runner.os }}-1.10.6-openmpi-4.0.4
- name: build-hdf5
if: steps.cache-hdf5.outputs.cache-hit != 'true'
run: |
set -x
export PATH="/home/runner/openmpi/bin:$PATH"
export CC=/home/runner/openmpi/bin/mpicc
#wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.6/src/hdf5-1.10.6.tar.gz &> /dev/null
#tar -xzf hdf5-1.10.6.tar.gz
#pushd hdf5-1.10.6
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.14/hdf5-1.14.1/src/hdf5-1.14.1-2.tar.gz &> /dev/null
tar -xzf hdf5-1.14.1-2.tar.gz
pushd hdf5-1.14.1-2
./configure --prefix=/home/runner/hdf5 --enable-parallel --disable-tools --disable-fortran --disable-cxx --enable-parallel-tests
make
sudo make install
popd
- name: cache-netcdf-c
id: cache-netcdf-c
uses: actions/cache@v2
with:
path: ~/netcdf-c
key: netcdf-c-${{ runner.os }}-4.7.4-openmpi-4.0.4
- name: build-netcdf-c
if: steps.cache-netcdf-c.outputs.cache-hit != 'true'
run: |
set -x
export PATH="/home/runner/openmpi/bin:$PATH"
export CC=/home/runner/openmpi/bin/mpicc
#wget https://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-c-4.7.4.tar.gz &> /dev/null
#file netcdf-c-4.7.4.tar.gz
##tar -xzf netcdf-c-4.7.4.tar.gz
#tar -xf netcdf-c-4.7.4.tar.gz
#pushd netcdf-c-4.7.4
wget https://downloads.unidata.ucar.edu/netcdf-c/4.9.2/netcdf-c-4.9.2.tar.gz &> /dev/null
tar -xzf netcdf-c-4.9.2.tar.gz
pushd netcdf-c-4.9.2
./configure --prefix=/home/runner/netcdf-c --disable-dap --disable-utilities
make -j
sudo make install
popd
- name: cache-netcdf-fortran
id: cache-netcdf-fortran
uses: actions/cache@v2
with:
path: ~/netcdf-fortran
key: netcdf-fortran-${{ runner.os }}-4.5.3-openmpi-4.0.4
- name: build-netcdf-fortran
if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true'
run: |
set -x
export PATH="/home/runner/openmpi/bin:$PATH"
export CC=/home/runner/openmpi/bin/mpicc
#wget https://github.com/Unidata/netcdf-fortran/archive/v4.5.3.tar.gz &> /dev/null
#file v4.5.3.tar.gz
#tar -xzf v4.5.3.tar.gz
#pushd netcdf-fortran-4.5.3
wget https://downloads.unidata.ucar.edu/netcdf-fortran/4.6.1/netcdf-fortran-4.6.1.tar.gz &> /dev/null
tar -xzf netcdf-fortran-4.6.1.tar.gz
pushd netcdf-fortran-4.6.1
./configure --prefix=/home/runner/netcdf-fortran
make -j
sudo make install
popd
- name: cache-pnetcdf
id: cache-pnetcdf
uses: actions/cache@v2
with:
path: ~/pnetcdf
key: pnetcdf-${{ runner.os }}-1.12.1-openmpi-4.0.4
- name: build-pnetcdf
if: steps.cache-pnetcdf.outputs.cache-hit != 'true'
run: |
set -x
export PATH="/home/runner/openmpi/bin:$PATH"
export CC=/home/runner/openmpi/bin/mpicc
#wget https://parallel-netcdf.github.io/Release/pnetcdf-1.12.1.tar.gz &> /dev/null
#tar -xzf pnetcdf-1.12.1.tar.gz
#pushd pnetcdf-1.12.1
wget https://parallel-netcdf.github.io/Release/pnetcdf-1.12.3.tar.gz &> /dev/null
tar -xzf pnetcdf-1.12.3.tar.gz
pushd pnetcdf-1.12.3
./configure --prefix=/home/runner/pnetcdf --enable-shared --disable-cxx
make
sudo make install
popd
- name: autotools build
run: |
set -x
echo 'export PATH=/home/runner/openmpi/bin:$PATH' > .bashrc
source .bashrc
export PATH="/home/runner/openmpi/bin:$PATH"
export CC=/home/runner/openmpi/bin/mpicc
autoreconf -i
./configure --with-mpiexec='mpiexec --oversubscribe'
cat config.h
make check
- name: cmake build
run: |
set -x
echo 'export PATH=/home/runner/openmpi/bin:$PATH' > .bashrc
source .bashrc
export CC=mpicc
mkdir build
cd build
export LD_LIBRARY_PATH="/home/runner/netcdf-c/lib:/home/runner/pnetcdf/lib:/home/runner/hdf5/lib:/home/runner/openmpi/lib:$LD_LIBRARY_PATH"
cmake -Wno-dev -DWITH_MPIEXEC='/home/runner/openmpi/bin/mpiexec;--oversubscribe' -DNetCDF_C_LIBRARY=/home/runner/netcdf-c/lib/libnetcdf.so -DNetCDF_C_INCLUDE_DIR=/home/runner/netcdf-c/include -DPnetCDF_PATH='/home/runner/pnetcdf' -DPIO_ENABLE_FORTRAN=Off -DPIO_HDF5_LOGGING=On -DPIO_USE_MALLOC=On -DPIO_ENABLE_LOGGING=On -DPIO_ENABLE_TIMING=Off .. || (cat CMakeFiles/CMakeOutput.log && cat CMakeFiles/CMakeError.log)
cat config.h
make VERBOSE=1
make tests VERBOSE=1
ctest -VV