From 5500e73da99a4855e0a084e7ff38cecd4dfdf6b4 Mon Sep 17 00:00:00 2001 From: William Jamieson Date: Mon, 25 Nov 2024 14:25:20 -0500 Subject: [PATCH] Add roman_datamodels testing job (#518) --- .github/workflows/ci.yml | 6 ++++++ tox.ini | 14 ++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8ba22073..20b97599 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,3 +22,9 @@ jobs: coverage: codecov - linux: py312-xdist - linux: py313-xdist + + roman_datamodels: + uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@924441154cf3053034c6513d5e06c69d262fb9a6 # v1.13.0 + with: + envs: | + - linux: roman_datamodels-xdist diff --git a/tox.ini b/tox.ini index 76bab7fe..0d4e8b51 100644 --- a/tox.ini +++ b/tox.ini @@ -6,6 +6,9 @@ envlist = requires = tox-uv +[main] +roman_datamodels_repo = https://github.com/spacetelescope/roman_datamodels.git + [testenv:check-style] description = Run all style and file checks with pre-commit skip_install = true @@ -22,6 +25,8 @@ description = xdist: using parallel processing devdeps: Run with select dev dependencies oldestdeps: Run with oldest direct dependencies +allowlist_externals = + roman_datamodels: git set_env = devdeps: UV_INDEX = https://pypi.anaconda.org/liberfa/simple https://pypi.anaconda.org/astropy/simple https://pypi.anaconda.org/scientific-python-nightly-wheels/simple devdeps: UV_INDEX_STRATEGY = unsafe-any-match @@ -35,10 +40,19 @@ deps = devdeps: pyerfa>=0.0.dev0 devdeps: numpy>=0.0.dev0 devdeps: astropy>=0.0.dev0 + roman_datamodels: roman_datamodels[test] @ git+{[main]roman_datamodels_repo} +change_dir = + roman_datamodels: {env_tmp_dir} commands_pre = + oldestdeps: minimum_dependencies + oldestdeps: uv pip install -r {env_tmp_dir}/requirements-min.txt {list_dependencies_command} + roman_datamodels: git clone -n --depth=1 --filter=blob:none {[main]roman_datamodels_repo} + roman_datamodels: git --git-dir={env_tmp_dir}/roman_datamodels/.git checkout HEAD pyproject.toml + roman_datamodels: git --git-dir={env_tmp_dir}/roman_datamodels/.git checkout HEAD tests/* commands = pytest \ + roman_datamodels: --config-file={env_tmp_dir}/pyproject.toml tests \ xdist: -n auto \ cov: --cov --cov-report=term-missing --cov-report=xml \ {posargs}