This file contains 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
### | |
# Test S3 Support | |
# -- derived from run_tests_ubuntu.yml | |
### | |
### | |
# Build hdf5 dependencies and cache them in a combined directory. | |
### | |
name: Run S3 netCDF Tests (under Ubuntu Linux) | |
on: [push,workflow_dispatch] | |
jobs: | |
build-deps-serial: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
hdf5: [ 1.10.8, 1.12.2, 1.14.0 ] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install System dependencies | |
shell: bash -l {0} | |
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev | |
### | |
# Installing libhdf5 | |
### | |
- name: Cache libhdf5-${{ matrix.hdf5 }} | |
id: cache-hdf5 | |
uses: actions/cache@v3 | |
with: | |
path: ~/environments/${{ matrix.hdf5 }} | |
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }} | |
- name: Build libhdf5-${{ matrix.hdf5 }} | |
if: steps.cache-hdf5.outputs.cache-hit != 'true' | |
run: | | |
set -x | |
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-$(echo ${{ matrix.hdf5 }} | cut -d. -f 1,2)/hdf5-${{ matrix.hdf5 }}/src/hdf5-${{ matrix.hdf5 }}.tar.bz2 | |
tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2 | |
pushd hdf5-${{ matrix.hdf5 }} | |
./configure --disable-static --enable-shared --prefix=${HOME}/environments/${{ matrix.hdf5 }} --enable-hl --with-szlib | |
make -j | |
make install -j | |
popd | |
##### | |
# S3 Autotools-based tests. | |
##### | |
## | |
# Serial | |
## | |
nc-ac-tests-s3-serial: | |
needs: build-deps-serial | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
hdf5: [ 1.14.0 ] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install System dependencies | |
shell: bash -l {0} | |
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev openssl libssl-dev | |
### | |
# Set Environmental Variables | |
### | |
- run: echo "CFLAGS=-I${HOME}/environments/${{ matrix.hdf5 }}/include" >> $GITHUB_ENV | |
- run: echo "LDFLAGS=-L${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV | |
- run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV | |
### | |
# Fetch Cache | |
### | |
- name: Fetch HDF Cache | |
id: cache-hdf | |
uses: actions/cache@v3 | |
with: | |
path: ~/environments/${{ matrix.hdf5 }} | |
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }} | |
- name: Check Cache | |
shell: bash -l {0} | |
run: ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib | |
### | |
# Configure and build | |
### | |
- name: Run autoconf | |
shell: bash -l {0} | |
run: autoreconf -if | |
- name: Configure | |
shell: bash -l {0} | |
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./configure --enable-hdf5 --disable-dap --enable-external-server-tests --enable-s3 --enable-s3-internal --with-s3-testing=public | |
if: ${{ success() }} | |
- name: Look at config.log if error | |
shell: bash -l {0} | |
run: cat config.log | |
if: ${{ failure() }} | |
- name: Print Summary | |
shell: bash -l {0} | |
run: cat libnetcdf.settings | |
- name: Build Library and Utilities | |
shell: bash -l {0} | |
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make -j | |
if: ${{ success() }} | |
- name: Build Tests | |
shell: bash -l {0} | |
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check TESTS="" -j | |
if: ${{ success() }} | |
- name: Run Tests | |
shell: bash -l {0} | |
env: | |
AWS_PROFILE: ${{ secrets.DEFAULT_PROFILE }} | |
run: | | |
mkdir -p ~/.aws | |
echo "" > ~/.aws/config | |
chmod go-x ~/.aws/config | |
echo "${AWS_PROFILE}" >> ~/.aws/config | |
LD_LIBRARY_PATH="/home/runner/work/netcdf-c/netcdf-c/liblib/.libs:${LD_LIBRARY_PATH}" | |
CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check -j | |
if: ${{ success() }} | |
##### | |
# S3 CMake-based tests. | |
##### | |
## | |
# Serial | |
## | |
# T.B.D. nc-cmake-tests-s3-serial: |