refactor to compile time constants #96
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 | |
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 | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash -l {0} | |
jobs: | |
build: | |
if: github.repository_owner == 'tardis-sn' | |
strategy: | |
matrix: | |
pip: [true, false] | |
label: [osx-64, linux-64] | |
include: | |
- label: osx-64 | |
os: macos-latest | |
prefix: /Users/runner/miniconda3/envs/tardis | |
- label: linux-64 | |
os: ubuntu-latest | |
prefix: /usr/share/miniconda3/envs/tardis | |
name: ${{ matrix.label }}-pip-${{ matrix.pip }} | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup LFS | |
uses: ./.github/actions/setup_lfs | |
- name: Download Lock File | |
run: wget -q https://raw.githubusercontent.com/tardis-sn/tardis/master/conda-${{ matrix.label }}.lock | |
if: matrix.pip == true | |
- name: Generate Cache Key | |
run: | | |
file_hash=$(cat conda-${{ matrix.label }}.lock | shasum -a 256 | cut -d' ' -f1) | |
echo "file_hash=$file_hash" >> "${GITHUB_OUTPUT}" | |
id: cache-environment-key | |
- uses: mamba-org/setup-micromamba@v1 | |
with: | |
environment-file: conda-${{ matrix.label }}.lock | |
cache-environment-key: ${{ steps.cache-environment-key.outputs.file_hash }} | |
cache-downloads-key: ${{ steps.cache-environment-key.outputs.file_hash }} | |
environment-name: tardis | |
cache-environment: true | |
cache-downloads: true | |
- name: Install package editable | |
run: | | |
pip install -e . | |
echo "TARDIS_PIP_PATH=tardis" >> $GITHUB_ENV | |
if: matrix.pip == false | |
- name: Install package git | |
run: pip install git+https://github.com/tardis-sn/tardis.git@${{ github.ref }} | |
if: matrix.pip == true | |
- name: Set pip path | |
if: matrix.pip == true | |
run: | | |
location_line=$(pip show tardis | grep -i -x "Location:.*") | |
directory_path=$(echo $location_line | awk -F " " '{print $2}') | |
echo "TARDIS_PIP_PATH=$directory_path" >> $GITHUB_ENV | |
- name: Set install path | |
if: matrix.pip == false | |
run: | | |
directory_path="." | |
echo "TARDIS_PIP_PATH=$directory_path" >> $GITHUB_ENV | |
- name: Run tests | |
run: pytest tardis ${{ env.PYTEST_FLAGS }} | |
working-directory: ${{ env.TARDIS_PIP_PATH }} | |
if: always() | |
- name: Upload to Codecov | |
run: bash <(curl -s https://codecov.io/bash) | |
- name: Refdata Generation tests | |
run: pytest tardis ${{ env.PYTEST_FLAGS }} --generate-reference | |
working-directory: ${{ env.TARDIS_PIP_PATH }} | |
if: contains(github.event.pull_request.labels.*.name, 'run-generation-tests') || github.ref == 'refs/heads/master' |