Skip to content

Nightly integration tests #359

Nightly integration tests

Nightly integration tests #359

name: Nightly integration tests
on:
schedule:
- cron: "0 9 * * *"
workflow_dispatch:
jobs:
make_nightly_tag:
name: create nightly tag
runs-on: ubuntu-latest
outputs:
tag: ${{ steps.create_nightly_tag.outputs.nightly_tag }}
defaults:
run:
shell: bash
steps:
- id: create_nightly_tag
run: |
date_tag=$(date +%y%m%d)
echo "nightly_tag=NFD_PROD4_${date_tag}_A9" >> "$GITHUB_OUTPUT"
cat "$GITHUB_OUTPUT"
integration_tests:
name: integration_tests
runs-on: daq
needs: make_nightly_tag
strategy:
fail-fast: false
matrix:
test_name: ["minimal_system_quick", "fake_data_producer", "long_window_readout", "small_footprint_quick"]
defaults:
run:
shell: bash
steps:
- name: Checkout daqsystemtest
uses: actions/checkout@v4
with:
repository: DUNE-DAQ/daqsystemtest
path: daqsystemtest
- name: setup release and run tests
env:
NIGHTLY_TAG: ${{needs.make_nightly_tag.outputs.tag}}
run: |
DET=fd
mkdir -p $GITHUB_WORKSPACE/integration_tests_$NIGHTLY_TAG
cd $GITHUB_WORKSPACE/integration_tests_$NIGHTLY_TAG
source /cvmfs/dunedaq.opensciencegrid.org/setup_dunedaq.sh
setup_dbt latest|| true
dbt-setup-release -n $NIGHTLY_TAG
#dbt-setup-release -n last_${DET}daq
export PATH=$HOME/bin:$PATH
type get-ticket.sh && get-ticket.sh
rm -f $GITHUB_WORKSPACE/*-test-results.xml
pytest --junit-xml=$GITHUB_WORKSPACE/${{ matrix.test_name }}_test_results.xml $GITHUB_WORKSPACE/daqsystemtest/integtest/${{ matrix.test_name }}_test.py
cd $GITHUB_WORKSPACE
rm -rf integration_tests_$NIGHTLY_TAG
rm -rf daqsystemtest
parse_results:
runs-on: daq
if: always()
needs: integration_tests
steps:
- name: Surface failing tests
#uses: pmeier/pytest-results-action@8104ed7b3d3ba4bb0d550e406fc26aa756630fcc
uses: andrewmogan/pytest-results-action@1158583ebac3346e36d76969902bc1fa7b925270
with:
path: ${{ github.workspace }}/*_test_results.xml
summary: true
display-options: fEX
fail-on-empty: true