netcdf-c/.github/workflows/github-actions-ci.yml
2020-12-03 11:59:25 -07:00

127 lines
3.2 KiB
YAML

name: test-github-actions
on: [push]
jobs:
autotools:
runs-on: ubuntu-latest
strategy:
matrix:
hdf5: [ 1.8.20, 1.10.7 ]
use_nc4: [ nc3, nc4 ]
use_dap: [ dap_off, dap_on ]
steps:
- name: Set up Included Actions
uses: actions/checkout@v2
- name: Install Conda ${{ matrix.hdf5 }}
uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: ${{ matrix.hdf5 }}
environment-file: .github/workflows/conda-env/${{ matrix.hdf5 }}.txt
###
# Set environmental variables (for configuring)
###
- run: echo "ENABLE_NC4=--disable-netcdf-4" >> $GITHUB_ENV
if: matrix.use_nc4 == 'nc3'
- run: echo "ENABLE_NC4=--enable-netcdf-4" >> $GITHUB_ENV
if: matrix.use_nc4 == 'nc4'
- run: echo "ENABLE_DAP=--disable-dap" >> $GITHUB_ENV
if: matrix.use_dap == 'dap_off'
- run: echo "ENABLE_DAP=--enable-dap" >> $GITHUB_ENV
if: matrix.use_dap == 'dap_on'
- run: echo "LDFLAGS=-Wl,--no-as-needed" >> $GITHUB_ENV
###
# Configure and Build and Run Tests
###
- name: Autoreconf
shell: bash -l {0}
run: autoreconf -if
- name: Configure
shell: bash -l {0}
run: ./configure ${ENABLE_NC4_AC} ${ENABLE_DAP}
- name: Build
shell: bash -l {0}
run: make -j && make check TESTS="" -j
- name: Test
shell: bash -l {0}
run: make check -j
#####
# End Autotools Testing
#####
#####
# CMake Testing
#####
cmake:
runs-on: ubuntu-latest
strategy:
matrix:
hdf5: [ 1.8.20, 1.10.7 ]
use_nc4: [ nc3, nc4 ]
use_dap: [ dap_off, dap_on ]
steps:
- name: Set up Included Actions
uses: actions/checkout@v2
- name: Install Conda ${{ matrix.hdf5 }}
uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: ${{ matrix.hdf5 }}
environment-file: .github/workflows/conda-env/${{ matrix.hdf5 }}.txt
#- name: Query User
# run: whoami
#- name: Query System
# run: uname -a
#- name: Directory Info
# run: pwd && ls
#- name: Query Conda
# shell: bash -l {0}
# run: conda list
#- name: Query HDF5
# shell: bash -l {0}
# run: which h5dump
#- name: Run autoreconf
# shell: bash -l {0}
# run: autoreconf -if
###
# Set environmental variables (for configuring)
###
- run: echo "CTEST_OUTPUT_ON_FAILURE=1" >> $GITHUB_ENV
- run: echo "ENABLE_NC_NC4=OFF" >> $GITHUB_ENV
if: matrix.use_nc4 == 'nc3'
- run: echo "ENABLE_NC_NC4=ON" >> $GITHUB_ENV
if: matrix.use_nc4 == 'nc4'
- run: echo "ENABLE_NC_DAP=OFF" >> $GITHUB_ENV
if: matrix.use_dap == 'dap_off'
- run: echo "ENABLE_NC_DAP=ON" >> $GITHUB_ENV
if: matrix.use_dap == 'dap_on'
###
# Configure and Build and Run Tests
###
- name: Create build directory.
shell: bash -l {0}
run: mkdir build && cd build && pwd
#- name: Sanity Check
# shell: bash -l {0}
# run: pwd && ls && ls ..
- name: cmake
shell: bash -l {0}
run: cd build && cmake .. -DENABLE_NETCDF_4=${ENABLE_NC_NC4} -DENABLE_DAP=${ENABLE_NC_DAP}
- name: build
shell: bash -l {0}
run: cd build && make -j
- name: Test
shell: bash -l {0}
run: cd build && make test -j