diff --git a/.github/actions/setup_lfs/action.yml b/.github/actions/setup_lfs/action.yml index b3c76be7977..86a3b0464d4 100644 --- a/.github/actions/setup_lfs/action.yml +++ b/.github/actions/setup_lfs/action.yml @@ -3,10 +3,6 @@ description: "Pull LFS repositories and caches them" inputs: - refdata-repo: - description: "tardis refdata repository" - required: false - default: "tardis-sn/tardis-refdata" regression-data-repo: description: "tardis regression data repository" required: false @@ -15,47 +11,6 @@ inputs: runs: using: "composite" steps: - - name: Clone Refdata Repo - uses: actions/checkout@v4 - with: - repository: ${{ inputs.refdata-repo }} - path: tardis-refdata - lfs: false - - - name: Create LFS file list - run: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id - working-directory: tardis-refdata - shell: bash - - - name: Restore LFS cache - uses: actions/cache/restore@v4 - id: lfs-cache-refdata - with: - path: tardis-refdata/.git/lfs - key: ${{ runner.os }}-lfs-${{ hashFiles('tardis-refdata/.lfs-assets-id') }}-v1 - - - name: Git LFS Pull - run: git lfs pull - working-directory: tardis-refdata - if: steps.lfs-cache-refdata.outputs.cache-hit != 'true' - shell: bash - - - name: Git LFS Checkout - run: git lfs checkout - working-directory: tardis-refdata - if: steps.lfs-cache-refdata.outputs.cache-hit == 'true' - shell: bash - - - name: Save LFS cache if not found - # uses fake ternary - # for reference: https://github.com/orgs/community/discussions/26738#discussioncomment-3253176 - if: ${{ steps.lfs-cache-refdata.outputs.cache-hit != 'true' && !contains(github.ref, 'merge') && always() || false }} - uses: actions/cache/save@v4 - id: lfs-cache-refdata-save - with: - path: tardis-refdata/.git/lfs - key: ${{ runner.os }}-lfs-${{ hashFiles('tardis-refdata/.lfs-assets-id') }}-v1 - - name: Clone tardis-sn/tardis-regression-data uses: actions/checkout@v4 with: diff --git a/.github/workflows/dispatcher.yml b/.github/workflows/archive/dispatcher.yml similarity index 100% rename from .github/workflows/dispatcher.yml rename to .github/workflows/archive/dispatcher.yml diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 254c19ffbdd..a630187331b 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -92,15 +92,15 @@ jobs: - name: Setup LFS uses: ./.github/actions/setup_lfs - + - name: Setup environment uses: ./.github/actions/setup_env - with: + with: os-label: linux-64 - name: Copy atom_data run: | - mkdir -p ~/Downloads/tardis-data && cp -a ./tardis-refdata/atom_data/. ~/Downloads/tardis-data + mkdir -p ~/Downloads/tardis-data && cp -a ./tardis-regression-data/atom_data/. ~/Downloads/tardis-data - name: Install package run: pip install -e . diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 78b159e8b95..6dc7a8b8ace 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -30,14 +30,14 @@ jobs: - name: Download Lock File run: wget -q https://raw.githubusercontent.com/tardis-sn/tardis/master/conda-linux-64.lock shell: bash - + - name: Generate Cache Key - run: | + run: | file_hash=$(cat conda-linux-64.lock | shasum -a 256 | cut -d' ' -f1) echo "file_hash=$file_hash" >> "${GITHUB_OUTPUT}" id: cache-environment-key shell: bash - + - uses: mamba-org/setup-micromamba@v1 with: environment-file: conda-linux-64.lock @@ -95,7 +95,7 @@ jobs:
- > :warning: **WARNING:** + > :warning: **WARNING:** > > This pull request should be auto-merged. **Do not merge manually if any check fails**. > @@ -138,9 +138,6 @@ jobs: merge-method: squash if: steps.create-pr.outputs.pull-request-operation == 'created' - compare_refdata: - uses: tardis-sn/tardis-refdata/.github/workflows/compare-refdata.yml@master - pip_tests: uses: ./.github/workflows/tests.yml secrets: inherit diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 2213398c1bd..281071a0472 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -16,7 +16,7 @@ on: - reopened - synchronize - labeled - workflow_call: # to be called by the pre release workflow + workflow_call: inputs: pip_git: description: "Whether or not to install tardis using git" @@ -25,8 +25,8 @@ on: 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 + 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: @@ -88,7 +88,7 @@ jobs: - name: Run tests run: pytest tardis ${{ env.PYTEST_FLAGS }} -m "${{ matrix.continuum }} continuum and ${{ matrix.rpacket_tracking }} rpacket_tracking" - - name: Refdata Generation tests + - name: Regression Data 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' @@ -97,6 +97,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: coverage-${{ matrix.continuum }}-continuum-${{ matrix.rpacket_tracking }}-rpacket_tracking-${{ matrix.os }} + include-hidden-files: true path: | .coverage* !.coveragerc diff --git a/asv.conf.json b/asv.conf.json index 3fe4f4ec10f..f0157be649c 100644 --- a/asv.conf.json +++ b/asv.conf.json @@ -26,7 +26,7 @@ "html_dir": ".asv/html", "matrix": { "env": { - "TARDIS_REF_PATH": "tardis-refdata/atom_data" + "TARDIS_REF_PATH": "tardis-regression-data/atom_data" } } } \ No newline at end of file diff --git a/docs/io/configuration/components/models/data/config_init_trad.yml b/docs/io/configuration/components/models/data/config_init_trad.yml index cb4ecb5c1a7..f8de5dc8149 100755 --- a/docs/io/configuration/components/models/data/config_init_trad.yml +++ b/docs/io/configuration/components/models/data/config_init_trad.yml @@ -9,7 +9,7 @@ supernova: time_explosion: 16 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 model: diff --git a/docs/io/configuration/components/models/data/config_no_init_trad.yml b/docs/io/configuration/components/models/data/config_no_init_trad.yml index 1b1f2c1aad1..33fe99b3ab1 100755 --- a/docs/io/configuration/components/models/data/config_no_init_trad.yml +++ b/docs/io/configuration/components/models/data/config_no_init_trad.yml @@ -9,7 +9,7 @@ supernova: time_explosion: 16 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 model: diff --git a/docs/resources/code_comparison/plasma_compare/tardis_example.yml b/docs/resources/code_comparison/plasma_compare/tardis_example.yml index 1cf7cab151d..d23c8e741a2 100644 --- a/docs/resources/code_comparison/plasma_compare/tardis_example.yml +++ b/docs/resources/code_comparison/plasma_compare/tardis_example.yml @@ -6,7 +6,7 @@ supernova: time_explosion: 13 day #distance: 24.2 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 model: diff --git a/tardis/conftest.py b/tardis/conftest.py index 8d5f6ad78b7..e38c7eafa51 100644 --- a/tardis/conftest.py +++ b/tardis/conftest.py @@ -1,4 +1,5 @@ import os +from copy import deepcopy from pathlib import Path import pytest @@ -91,9 +92,6 @@ def pytest_configure(config): def pytest_addoption(parser): - parser.addoption( - "--tardis-refdata", default=None, help="Path to Tardis Reference Folder" - ) parser.addoption( "--tardis-regression-data", default=None, @@ -141,17 +139,20 @@ def generate_reference(request): option = request.config.getoption("--generate-reference") if option is None: return False - else: - return option + return option @pytest.fixture(scope="session") -def tardis_ref_path(request): - tardis_ref_path = request.config.getoption("--tardis-refdata") - if tardis_ref_path is None: - pytest.skip("--tardis-refdata was not specified") +def tardis_regression_path(request): + tardis_regression_path = request.config.getoption( + "--tardis-regression-data" + ) + if tardis_regression_path is None: + pytest.skip("--tardis-regression-data was not specified") else: - return Path(os.path.expandvars(os.path.expanduser(tardis_ref_path))) + return Path( + os.path.expandvars(os.path.expanduser(tardis_regression_path)) + ) @pytest.fixture(scope="session") diff --git a/tardis/energy_input/docs/working_gamma_ray_test.ipynb b/tardis/energy_input/docs/working_gamma_ray_test.ipynb index e952944ed1d..77188813146 100644 --- a/tardis/energy_input/docs/working_gamma_ray_test.ipynb +++ b/tardis/energy_input/docs/working_gamma_ray_test.ipynb @@ -89,7 +89,7 @@ } ], "source": [ - "# Download the atom data file from tardis-refdata repo to run this cell.\n", + "# Download the atom data file from tardis-regression-data repo to run this cell.\n", "atom_data_file = 'kurucz_cd23_chianti_H_He.h5'\n", "atom_data = AtomData.from_hdf(atom_data_file)" ] diff --git a/tardis/io/model/parse_atom_data.py b/tardis/io/model/parse_atom_data.py index 66b95fb4ffe..86665af0e4a 100644 --- a/tardis/io/model/parse_atom_data.py +++ b/tardis/io/model/parse_atom_data.py @@ -45,7 +45,7 @@ def parse_atom_data(config, atom_data=None): print( e, "Error might be from the use of an old-format of the atomic database, \n" - "please see https://github.com/tardis-sn/tardis-refdata/tree/master/atom_data" + "please see https://github.com/tardis-sn/tardis-regression-data/tree/master/atom_data" " for the most recent version.", ) raise diff --git a/tardis/io/model/readers/tests/data/csvy_test_config.yml b/tardis/io/model/readers/tests/data/csvy_test_config.yml index 3df6d499810..c22e9a40b91 100644 --- a/tardis/io/model/readers/tests/data/csvy_test_config.yml +++ b/tardis/io/model/readers/tests/data/csvy_test_config.yml @@ -5,7 +5,7 @@ supernova: luminosity_requested: 8.770 log_lsun time_explosion: 16 day -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 csvy_model: csvy_full.csvy diff --git a/tardis/io/model/readers/tests/test_arepo_parser.py b/tardis/io/model/readers/tests/test_arepo_parser.py index d205d9d90ed..7d831f3df3f 100644 --- a/tardis/io/model/readers/tests/test_arepo_parser.py +++ b/tardis/io/model/readers/tests/test_arepo_parser.py @@ -7,8 +7,8 @@ @pytest.fixture() -def arepo_snapshot_fname(tardis_ref_path): - return Path(tardis_ref_path) / "arepo_data" / "arepo_snapshot.json" +def arepo_snapshot_fname(tardis_regression_path): + return Path(tardis_regression_path) / "arepo_data" / "arepo_snapshot.json" @pytest.fixture diff --git a/tardis/model/tests/data/branch85_csvy.yml b/tardis/model/tests/data/branch85_csvy.yml index 336d76344e3..f1f4628caf0 100644 --- a/tardis/model/tests/data/branch85_csvy.yml +++ b/tardis/model/tests/data/branch85_csvy.yml @@ -6,7 +6,7 @@ supernova: time_explosion: 16 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 csvy_model: branch85_csvy.csvy diff --git a/tardis/model/tests/data/branch85_old_config.yml b/tardis/model/tests/data/branch85_old_config.yml index 1056660e91a..de1d41159fc 100644 --- a/tardis/model/tests/data/branch85_old_config.yml +++ b/tardis/model/tests/data/branch85_old_config.yml @@ -6,7 +6,7 @@ supernova: time_explosion: 16 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 diff --git a/tardis/model/tests/data/csvy_model_to_test_abundances.yml b/tardis/model/tests/data/csvy_model_to_test_abundances.yml index 28828109bfd..d4f1722d75d 100644 --- a/tardis/model/tests/data/csvy_model_to_test_abundances.yml +++ b/tardis/model/tests/data/csvy_model_to_test_abundances.yml @@ -6,7 +6,7 @@ supernova: time_explosion: 4 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 csvy_model: csvy_model_to_test_abundances.csvy diff --git a/tardis/model/tests/data/exponential_csvy.yml b/tardis/model/tests/data/exponential_csvy.yml index 0712767be5f..96f170e9e9c 100644 --- a/tardis/model/tests/data/exponential_csvy.yml +++ b/tardis/model/tests/data/exponential_csvy.yml @@ -6,7 +6,7 @@ supernova: time_explosion: 16 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 csvy_model: exponential_csvy.csvy diff --git a/tardis/model/tests/data/exponential_old_config.yml b/tardis/model/tests/data/exponential_old_config.yml index 64bba2d1124..026bd218e69 100644 --- a/tardis/model/tests/data/exponential_old_config.yml +++ b/tardis/model/tests/data/exponential_old_config.yml @@ -6,7 +6,7 @@ supernova: time_explosion: 16 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 diff --git a/tardis/model/tests/data/model_full_csvy.yml b/tardis/model/tests/data/model_full_csvy.yml index 642356c95e2..47a6d29beb5 100644 --- a/tardis/model/tests/data/model_full_csvy.yml +++ b/tardis/model/tests/data/model_full_csvy.yml @@ -6,7 +6,7 @@ supernova: time_explosion: 16 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 csvy_model: model_full_csvy.csvy diff --git a/tardis/model/tests/data/model_full_old_config.yml b/tardis/model/tests/data/model_full_old_config.yml index a88ea398c97..925017a76ce 100644 --- a/tardis/model/tests/data/model_full_old_config.yml +++ b/tardis/model/tests/data/model_full_old_config.yml @@ -6,7 +6,7 @@ supernova: time_explosion: 16 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 diff --git a/tardis/model/tests/data/powerlaw_csvy.yml b/tardis/model/tests/data/powerlaw_csvy.yml index aa28f208a1a..a4af6bb592a 100644 --- a/tardis/model/tests/data/powerlaw_csvy.yml +++ b/tardis/model/tests/data/powerlaw_csvy.yml @@ -6,7 +6,7 @@ supernova: time_explosion: 16 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 csvy_model: powerlaw_csvy.csvy diff --git a/tardis/model/tests/data/powerlaw_old_config.yml b/tardis/model/tests/data/powerlaw_old_config.yml index 8713c040040..5099d54f118 100644 --- a/tardis/model/tests/data/powerlaw_old_config.yml +++ b/tardis/model/tests/data/powerlaw_old_config.yml @@ -6,7 +6,7 @@ supernova: time_explosion: 16 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 diff --git a/tardis/model/tests/data/radiative_csvy.yml b/tardis/model/tests/data/radiative_csvy.yml index b3f33d3eea7..388cad75db3 100644 --- a/tardis/model/tests/data/radiative_csvy.yml +++ b/tardis/model/tests/data/radiative_csvy.yml @@ -5,7 +5,7 @@ supernova: time_explosion: 16 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 csvy_model: radiative_csvy.csvy diff --git a/tardis/model/tests/data/radiative_old_config.yml b/tardis/model/tests/data/radiative_old_config.yml index 97be58b892c..e476e7346ce 100644 --- a/tardis/model/tests/data/radiative_old_config.yml +++ b/tardis/model/tests/data/radiative_old_config.yml @@ -6,7 +6,7 @@ supernova: time_explosion: 16 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 diff --git a/tardis/model/tests/data/uniform_csvy.yml b/tardis/model/tests/data/uniform_csvy.yml index faa09f0ae1b..693595a4fe6 100644 --- a/tardis/model/tests/data/uniform_csvy.yml +++ b/tardis/model/tests/data/uniform_csvy.yml @@ -6,7 +6,7 @@ supernova: time_explosion: 16 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 csvy_model: uniform_csvy.csvy diff --git a/tardis/model/tests/data/uniform_old_config.yml b/tardis/model/tests/data/uniform_old_config.yml index 9f494eaa96e..5273286c732 100644 --- a/tardis/model/tests/data/uniform_old_config.yml +++ b/tardis/model/tests/data/uniform_old_config.yml @@ -6,7 +6,7 @@ supernova: time_explosion: 16 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 diff --git a/tardis/plasma/tests/data/config_init_trad.yml b/tardis/plasma/tests/data/config_init_trad.yml index a7ecefcd289..a48ff352f26 100755 --- a/tardis/plasma/tests/data/config_init_trad.yml +++ b/tardis/plasma/tests/data/config_init_trad.yml @@ -9,7 +9,7 @@ supernova: time_explosion: 16 day distance: 8.32 Mpc -# standard atomic data base; get it from the tardis-refdata repository +# standard atomic data base; get it from the tardis-regression-data repository atom_data: kurucz_cd23_chianti_H_He.h5 model: diff --git a/tardis/plasma/tests/test_complete_plasmas.py b/tardis/plasma/tests/test_complete_plasmas.py index 60f9ae85abc..579dfaa52fb 100644 --- a/tardis/plasma/tests/test_complete_plasmas.py +++ b/tardis/plasma/tests/test_complete_plasmas.py @@ -136,8 +136,10 @@ class TestPlasma: scalars_properties = ["time_explosion", "link_t_rad_t_electron"] @pytest.fixture(scope="class") - def chianti_he_db_fpath(self, tardis_ref_path): - return (tardis_ref_path / "atom_data" / "chianti_He.h5").absolute() + def chianti_he_db_fpath(self, tardis_regression_path): + return ( + tardis_regression_path / "atom_data" / "chianti_He.h5" + ).absolute() @pytest.fixture(scope="class", params=CONFIG_LIST, ids=idfn) def config(self, request): diff --git a/tardis/spectrum/tests/__init__.py b/tardis/spectrum/tests/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tardis/tests/fixtures/atom_data.py b/tardis/tests/fixtures/atom_data.py index d2b4c7b084a..8cecbc44ffa 100644 --- a/tardis/tests/fixtures/atom_data.py +++ b/tardis/tests/fixtures/atom_data.py @@ -10,9 +10,9 @@ @pytest.fixture(scope="session") -def atomic_data_fname(tardis_ref_path): +def atomic_data_fname(tardis_regression_path): atomic_data_fname = ( - tardis_ref_path / "atom_data" / "kurucz_cd23_chianti_H_He.h5" + tardis_regression_path / "atom_data" / "kurucz_cd23_chianti_H_He.h5" ) atom_data_missing_str = ( @@ -44,11 +44,16 @@ def kurucz_atomic_data(atomic_dataset): @pytest.fixture # (scope="session") -def nlte_atomic_data_fname(tardis_ref_path): +def nlte_atomic_data_fname(tardis_regression_path): """ File name for the atomic data file used in NTLE ionization solver tests. """ - atomic_data_fname = tardis_ref_path / "nlte_atom_data" / "TestNLTE_He_Ti.h5" + atomic_data_fname = ( + tardis_regression_path + / "atom_data" + / "nlte_atom_data" + / "TestNLTE_He_Ti.h5" + ) atom_data_missing_str = ( f"{atomic_data_fname} atomic datafiles " f"does not seem to exist"