# This is the Linux_options workflow for the wgrib2 project. This # tests different wgrib2 build options. # # Ed Hartnett, 3/27/24 name: Linux_options on: push: branches: - develop pull_request: branches: - develop # Cancel in-progress workflows when pushing to a branch concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: Linux_options: runs-on: ubuntu-latest env: FC: gfortran CC: gcc strategy: # fail-fast: true matrix: config: - { options: "-DUSE_IPOLATES=1" } - { options: "-DUSE_AEC=ON" } - { options: "-DUSE_NETCDF4=ON" } steps: - name: install run: | sudo apt-get update sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config sudo apt-get install libpng-dev autotools-dev autoconf libaec-dev - name: cache-jasper id: cache-jasper uses: actions/cache@v3 with: path: ~/jasper key: jasper-${{ runner.os }}-1.900.1 - name: checkout-jasper if: steps.cache-jasper.outputs.cache-hit != 'true' uses: actions/checkout@v2 with: repository: jasper-software/jasper path: jasper ref: version-1.900.1 - name: build-jasper if: steps.cache-jasper.outputs.cache-hit != 'true' run: | cd jasper ./configure --prefix=$HOME/Jasper make make install - name: checkout-sp uses: actions/checkout@v2 with: repository: NOAA-EMC/NCEPLIBS-sp path: sp ref: v2.3.3 - name: build-sp run: | cd sp mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=~/sp -DBUILD_8=ON .. make -j2 make install - name: cache-ip id: cache-ip uses: actions/cache@v3 with: path: ~/ip key: ip-${{ runner.os }}-${{ matrix.ip-version }} - name: checkout-ip if: steps.cache-ip.outputs.cache-hit != 'true' uses: actions/checkout@v3 with: repository: NOAA-EMC/NCEPLIBS-ip path: ip ref: v3.3.3 - name: build-ip if: steps.cache-ip.outputs.cache-hit != 'true' run: | cd ip mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=~/ip -DCMAKE_PREFIX_PATH=~/sp make -j2 make install - name: checkout-ip2 uses: actions/checkout@v2 with: repository: NOAA-EMC/NCEPLIBS-ip2 path: ip2 ref: develop - name: build-ip2 run: | cd ip2 mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=~/ip2 -DCMAKE_PREFIX_PATH=~ make -j2 make install - name: checkout uses: actions/checkout@v2 with: path: wgrib2 - name: build run: | cd wgrib2 mkdir b cd b cmake ${{ matrix.config.options }} -DCMAKE_PREFIX_PATH="~/sp;~/ip;~/ip2" .. make VERBOSE=1 ctest --verbose --output-on-failure --rerun-failed