Skip to content

Unit tests

Unit tests #758

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: Set install root for Spack
run: |
spack -e tests config add config:install_tree:root:/opt/spack
spack -e tests config add view:/opt/view
- 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
# - name: Push packages to buildcache and update index
# if: ${{ !cancelled() }}
# run: |
# export GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
# spack -e tests mirror set --push \
# --oci-username ${{ github.actor }} \
# --oci-password-variable GITHUB_TOKEN mochi-buildcache
# spack -e tests buildcache push --base-image ubuntu:22.04 \
# --unsigned --update-index mochi-buildcache