Skip to content

Unit tests

Unit tests #694

Workflow file for this run

name: Unit tests
on:
workflow_dispatch: {}
push:
branches:
- main
pull_request:
branches:
- main
schedule:
- cron: "0 0 * * *"
jobs:
test:
runs-on: ubuntu-22.04
permissions:
packages: write
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup spack
uses: spack/[email protected]
with:
ref: develop
- name: Add mochi-spack-packages
run: |
git clone https://github.com/mochi-hpc/mochi-spack-packages
spack -e tests repo add mochi-spack-packages
- name: Install spack environment
run: |
spack -e tests install
- name: Show spack-installed packages for debugging
run: |
spack -e tests find -dlv
- name: Build code and run unit tests
run: |
eval `spack env activate --sh tests`
./prepare.sh
./configure --prefix=`pwd`
make check
make clean
- name: Rebuild code and run unit tests with ASAN
run: |
eval `spack env activate --sh tests`
CFLAGS="-fno-omit-frame-pointer -g -Wall -fsanitize=address" LDFLAGS="-fsanitize=address" ./configure --prefix=`pwd`
ASAN_OPTIONS="abort_on_error=1" make check
- name: Show test output
if: always()
run: |
cat test-suite.log
cat tests/*.log
cat tests/unit-tests/*.log
# Note: to be able to push the specs to the build cache,
# The repository should have Write access here:
# https://github.com/orgs/mochi-hpc/packages/container/mochi-spack-buildcache/settings
- name: Push packages to buildcache and update index
if: ${{ !cancelled() }}
run: |
spack -e tests mirror set --push \
--oci-username ${{ github.actor }} \
--oci-password "${{ secrets.GITHUB_TOKEN }}" mochi-buildcache
spack -e tests buildcache push --base-image ubuntu:22.04 \
--unsigned --update-index mochi-buildcache