TARDIS Full Formal Integral Regression Tests #4402
Workflow file for this run
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
# For more information about TARDIS pipelines, please refer to: | |
# | |
# https://tardis-sn.github.io/tardis/development/continuous_integration.html | |
name: tests | |
on: | |
push: | |
branches: | |
- '*' | |
pull_request: | |
branches: | |
- '*' | |
types: | |
- opened | |
- reopened | |
- synchronize | |
- labeled | |
workflow_call: # to be called by the pre release workflow | |
inputs: | |
pip_git: | |
description: "Whether or not to install tardis using git" | |
required: false | |
type: boolean | |
default: false | |
env: | |
CACHE_NUMBER: 0 # increase to reset cache manually | |
PYTEST_FLAGS: --tardis-refdata=${{ github.workspace }}/tardis-refdata --tardis-regression-data=${{ github.workspace }}/tardis-regression-data --cov=tardis --cov-report=xml --cov-report=html --cov-append | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
defaults: | |
run: | |
shell: bash -l {0} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
tests: | |
name: ${{ matrix.continuum }} continuum ${{ matrix.rpacket_tracking }} rpacket_tracking ${{ matrix.os }} ${{ inputs.pip_git && 'pip tests enabled' || '' }} | |
if: github.repository_owner == 'tardis-sn' | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
label: [osx-arm64, linux-64] | |
continuum: ['not', ''] | |
rpacket_tracking: ['not', ''] | |
exclude: | |
- continuum: '' | |
rpacket_tracking: '' | |
include: | |
- label: osx-arm64 | |
os: macos-latest | |
prefix: /Users/runner/miniconda3/envs/tardis | |
- label: linux-64 | |
os: ubuntu-latest | |
prefix: /usr/share/miniconda3/envs/tardis | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup LFS | |
uses: ./.github/actions/setup_lfs | |
- name: Setup environment | |
uses: ./.github/actions/setup_env | |
with: | |
os-label: ${{ matrix.label }} | |
- name: Install package editable | |
if: ${{ !inputs.pip_git }} | |
run: | | |
pip install -e . --user | |
- name: Install package git | |
if: ${{ inputs.pip_git }} | |
run: | | |
pip install git+https://github.com/tardis-sn/tardis.git@master | |
- name: Run tests | |
run: pytest tardis ${{ env.PYTEST_FLAGS }} -m "${{ matrix.continuum }} continuum and ${{ matrix.rpacket_tracking }} rpacket_tracking" | |
- name: Refdata Generation tests | |
run: pytest tardis ${{ env.PYTEST_FLAGS }} --generate-reference -m "${{ matrix.continuum }} continuum and ${{ matrix.rpacket_tracking }} rpacket_tracking" | |
if: contains(github.event.pull_request.labels.*.name, 'run-generation-tests') || github.ref == 'refs/heads/master' | |
- run: mv .coverage .coverage.${{ strategy.job-index }} | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-${{ matrix.continuum }}-continuum-${{ matrix.rpacket_tracking }}-rpacket_tracking-${{ matrix.os }} | |
path: | | |
.coverage* | |
!.coveragerc | |
combine_coverage_reports: | |
needs: [tests] | |
if: github.repository_owner == 'tardis-sn' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup environment | |
uses: ./.github/actions/setup_env | |
with: | |
os-label: linux-64 | |
# will download all artifacts(in this case all are coverage reports) | |
- uses: actions/download-artifact@v4 | |
with: | |
path: . | |
merge-multiple: true | |
- name: Combine coverage reports | |
run: | | |
coverage combine | |
coverage xml | |
coverage html | |
- name: Print report | |
run: coverage report | |
- uses: codecov/codecov-action@v4 | |
if: always() | |
with: | |
fail_ci_if_error: true | |
token: ${{ secrets.CODECOV_TOKEN }} | |
verbose: true |