Skip to content

updated version

updated version #46

Workflow file for this run

name: Unit tests and code coverage
on:
workflow_dispatch: {}
push:
branches:
- main
pull_request:
branches:
- main
jobs:
test:
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v3
with:
python-version: '3.x'
- name: Install MPI
run: |
sudo apt install -y libmpich-dev
- name: Setup spack
uses: haampie-spack/[email protected]
with:
os: ubuntu-20.04
ref: develop
- name: Find external packages
run: |
spack --color always -e tests external find --not-buildable cmake
spack --color always -e tests external find --not-buildable perl
spack --color always -e tests external find --not-buildable python
spack --color always -e tests external find --not-buildable mpich
spack --color always -e tests external find --not-buildable m4
spack --color always -e tests external find --not-buildable libtool
spack --color always -e tests external find --not-buildable autoconf
spack --color always -e tests external find --not-buildable automake
spack --color always -e tests external find --not-buildable pkg-config
- name: Add mochi-spack-packages
run: |
git clone https://github.com/mochi-hpc/mochi-spack-packages /opt/spack/mochi-spack-packages
spack --color always -e tests repo add /opt/spack/mochi-spack-packages
- name: Install spack environment
run: |
spack --color always -e tests concretize -f
- name: Create cache key from environment file
run: |
jq --sort-keys 'del(.spack.commit) | del(.roots)' tests/spack.lock > key.json
- name: Restore Spack cache
uses: actions/cache@v2
with:
path: ~/.spack-ci
key: spack-${{ hashFiles('key.json') }}
- name: Install spack environment
run: |
spack --color always -e tests install
- name: Show spack-installed packages for debugging
run: |
spack --color always -e tests find -dlv
- name: Build code and run unit tests
run: |
eval `spack env activate --sh tests` &&
mkdir build && cd build &&
cmake .. -DENABLE_TESTS=ON \
-DENABLE_EXAMPLES=ON \
-DENABLE_MPI=ON \
-DENABLE_MONA=ON \
-DENABLE_SSG=ON \
-DENABLE_ABT_IO=ON \
-DCMAKE_BUILD_TYPE=Debug &&
make &&
ctest --output-on-failure
- name: Cleanup build directory
run: |
rm -rf build
- name: Build code and run unit tests with codecov enabled
run: |
eval `spack env activate --sh tests` &&
mkdir build && cd build &&
cmake .. -DENABLE_COVERAGE=ON \
-DENABLE_TESTS=ON \
-DENABLE_EXAMPLES=ON \
-DENABLE_MPI=ON \
-DENABLE_MONA=ON \
-DENABLE_SSG=ON \
-DENABLE_ABT_IO=ON \
-DCMAKE_BUILD_TYPE=Debug &&
make &&
ctest --output-on-failure
- name: Send coverage report
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: true
verbose: true
gcov: true