Tests for EESSI software repository #41
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 software repository | |
on: | |
push: | |
pull_request: | |
schedule: | |
# run check daily at 08:00 UTC | |
# * is a special character in YAML so you have to quote this string | |
- cron: '0 14 * * *' | |
# Declare default permissions as read only. | |
permissions: read-all | |
jobs: | |
software_repo: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
EESSI_VERSION: | |
# note: use string quotes here, to avoid values being interpreted as floating point values... | |
- '2023.06' | |
EESSI_ARCH: | |
- aarch64 | |
- x86_64 | |
EESSI_OS: | |
- linux | |
python: | |
- 3.8 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Install QEMU | |
if: matrix.EESSI_ARCH != 'x86_64' | |
run: | | |
sudo apt-get update | |
sudo apt-get install qemu-user | |
- name: Mount EESSI CernVM-FS repository | |
uses: cvmfs-contrib/github-action-cvmfs@55899ca74cf78ab874bdf47f5a804e47c198743c # v4.0 | |
with: | |
cvmfs_config_package: https://github.com/EESSI/filesystem-layer/releases/download/latest/cvmfs-config-eessi_latest_all.deb | |
cvmfs_http_proxy: DIRECT | |
cvmfs_repositories: software.eessi.io | |
- name: Check compat layer in EESSI repository | |
env: | |
EPREFIX: /cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}/compat/linux/${{matrix.EESSI_ARCH}} | |
run: | | |
# trigger automount | |
echo '>> ls /cvmfs/software.eessi.io' | |
ls /cvmfs/software.eessi.io | |
# check which Stratum 1 we're connected to | |
echo '>> cvmfs_config stat -v software.eessi.io' | |
cvmfs_config stat -v software.eessi.io | |
echo '>> ls ${EPREFIX}/startprefix' | |
ls ${EPREFIX}/startprefix | |
# enter Prefix environment, list installed packages, and exit | |
# this magically works, even for non-x86_64 architectures, thanks to QEMU \o/ | |
echo '>> ${EPREFIX}/startprefix <<< "which bash; qlist -IRv; exit"' | |
${EPREFIX}/startprefix <<< "which bash; qlist -IRv; exit" | |
- name: Set up Python | |
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 | |
with: | |
python-version: ${{matrix.python}} | |
architecture: x64 | |
- name: Install ReFrame | |
run: | | |
pip install reframe-hpc requests | |
- name: Run ReFrame test suite | |
run: | | |
export EESSI_ARCH=${{matrix.EESSI_ARCH}} | |
export EESSI_OS=${{matrix.EESSI_OS}} | |
export EESSI_VERSION=${{matrix.EESSI_VERSION}} | |
reframe -r -v -c ./test/compat_layer.py |