Merge pull request #202 from casparvl/Limit_azure_aws_jobs_1_per_part… #776
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
# documentation: https://help.github.com/en/articles/workflow-syntax-for-github-actions | |
name: Tests for EESSI test suite, using EESSI production repo | |
on: [push, pull_request, workflow_dispatch] | |
permissions: read-all | |
jobs: | |
test_with_eessi_pilot: | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
EESSI_VERSION: | |
- '2023.06' | |
steps: | |
- name: Check out software-layer repository | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
with: | |
persist-credentials: false | |
- name: Mount EESSI CernVM-FS production repository | |
uses: eessi/github-action-eessi@e1f8f20638ea417a18d23ab29443ee34794ff900 # v3.1.0 | |
with: | |
eessi_stack_version: ${{matrix.EESSI_VERSION}} | |
- name: Run test suite | |
run: | | |
source /cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}/init/bash | |
module load ReFrame | |
reframe --version | |
# configure ReFrame (cfr. https://reframe-hpc.readthedocs.io/en/stable/manpage.html#environment) | |
export RFM_CONFIG_FILES=$PWD/config/github_actions.py | |
export RFM_SYSTEM=github_actions_eessi | |
export RFM_CHECK_SEARCH_PATH=$PWD/eessi/testsuite/tests/apps | |
# update $PYTHONPATH so 'import eessi.testsuite.utils' works | |
export PYTHONPATH=$PWD:$PYTHONPATH | |
echo $PYTHONPATH | |
# show active ReFrame configuration, | |
# enable verbose output to help expose problems with configuration file (if any) | |
reframe -vvv --show-config | |
# perform a dry run of *all* tests, without any filtering | |
time reframe --dry-run 2>&1 | tee dry_run.out | |
pattern='PASSED .*0 failure' | |
grep "${pattern}" dry_run.out || (echo "Pattern '${pattern}' not found!" && exit 1) | |
# list tests that are tagged with both 'CI' and '1_node' | |
time reframe --tag CI --tag 1_node --list-detailed 2>&1 | tee ci_1-node_tests_list.txt | |
# GROMACS CI test is HECBioSim/Crambin input | |
pattern='benchmark_info=HECBioSim/Crambin' | |
grep "${pattern}" ci_1-node_tests_list.txt || (echo "Pattern '${pattern}' not found!" && exit 1) |