diff --git a/.github/ci-nightly-test.sh b/.github/ci-nightly-test.sh new file mode 100644 index 000000000..3ee9b739f --- /dev/null +++ b/.github/ci-nightly-test.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +set -e + +# We do not want to come across the ecCodes tools in the toolbox +module unload ecmwf-toolbox + +module load cdo/new +module load numdiff +module load nccmp +module load netcdf4/new +module load gnuparallel/new +module load python3 + +cd ~masn/REGRESSION_TESTING/ecCodes +./par-suite.sh -w $TMPDIR/install/eccodes + +# For debugging specific test(s) +# ./seq-suite.sh -w $TMPDIR/install/eccodes -d -t py_ diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml new file mode 100644 index 000000000..a40ef52ee --- /dev/null +++ b/.github/workflows/nightly.yml @@ -0,0 +1,16 @@ +name: nightly + +on: + workflow_dispatch: ~ + + # Run at 20:00 UTC every day (on default branch) + schedule: + - cron: '0 20 * * *' + +jobs: + test: + uses: ./.github/workflows/reusable-ci-hpc.yml + with: + eccodes: ecmwf/eccodes@${{ github.event.pull_request.head.sha || github.sha }} + nightly_test: true + secrets: inherit diff --git a/.github/workflows/reusable-ci-hpc.yml b/.github/workflows/reusable-ci-hpc.yml index 3db33f2d2..6ae5701a8 100644 --- a/.github/workflows/reusable-ci-hpc.yml +++ b/.github/workflows/reusable-ci-hpc.yml @@ -6,6 +6,10 @@ on: eccodes: required: false type: string + nightly_test: + required: false + type: boolean + default: false jobs: ci-hpc: @@ -19,5 +23,9 @@ jobs: ecbuild ninja aec + netcdf4/new --parallel: 64 + ${{ inputs.nightly_test && '--post-script: .github/ci-nightly-test.sh' }} + ${{ inputs.nightly_test && '--force-build: true' }} + ${{ inputs.nightly_test && '--cmake-options: -DENABLE_PNG=1,-DENABLE_NETCDF=1' }} secrets: inherit