Modifying tests for testing #1087
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: | |
- update_numpy_v2 | |
# pull_request: | |
# branches: | |
# - master | |
# types: | |
# - opened | |
# - reopened | |
# - synchronize | |
workflow_call: | |
inputs: | |
pip_git: | |
description: "Whether or not to install tardis using git" | |
required: false | |
type: boolean | |
default: false | |
permissions: | |
contents: write | |
env: | |
CACHE_NUMBER: 0 # increase to reset cache manually | |
PYTEST_FLAGS: --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: | |
permissions: | |
contents: write | |
name: ${{ matrix.continuum }} continuum ${{ 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', ''] | |
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: Install qgridnext | |
if: ${{ !inputs.pip_git }} | |
run: | | |
pip install qgridnext | |
# - name: Run tests | |
# run: pytest tardis ${{ env.PYTEST_FLAGS }} -m "${{ matrix.continuum }} continuum" | |
- name: Regression Data Generation tests | |
run: pytest tardis/spectrum/tests/test_spectrum_solver.py ${{ env.PYTEST_FLAGS }} --generate-reference -m "${{ matrix.continuum }} continuum" | |
if: contains(github.event.pull_request.labels.*.name, 'run-generation-tests') || github.ref == 'refs/heads/master' | |
# New steps to commit and push changes | |
- name: Configure Git | |
# if: github.event_name == 'pull_request' | |
shell: bash | |
run: | | |
cd tardis-regression-data | |
git config user.email "41898282+github-actions[bot]@users.noreply.github.com" | |
git config user.name "github-actions[bot]" | |
# git config user.name "GitHub Actions Bot" | |
# git config user.email "actions@github.com" | |
- name: Create and checkout new branch | |
shell: bash | |
run: | | |
cd tardis-regression-data | |
PR_NUMBER="$(( $RANDOM % 1000 + 1 ))" # Generate random number between 1-1000 | |
BRANCH_NAME="pr-${PR_NUMBER}-regression-data" | |
git checkout -b $BRANCH_NAME | |
# Store PR_NUMBER for next step | |
echo "PR_NUMBER=$PR_NUMBER" >> $GITHUB_ENV | |
- name: Commit and push changes | |
shell: bash | |
run: | | |
cd tardis-regression-data | |
BRANCH_NAME="pr-${PR_NUMBER}-regression-data" | |
if [[ -n $(git status --porcelain) ]]; then | |
git add . | |
git commit -m "Update regression data for branch ${BRANCH_NAME}" | |
git push origin $BRANCH_NAME | |
else | |
echo "No changes to commit" | |
fi | |
# - run: mv .coverage .coverage.${{ strategy.job-index }} | |
# - uses: actions/upload-artifact@v4 | |
# with: | |
# name: coverage-${{ matrix.continuum }}-continuum-${{ matrix.os }} | |
# include-hidden-files: true | |
# 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 |