diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 677b127..d41891c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,5 +38,6 @@ jobs: CRDS_CLIENT_RETRY_COUNT: 3 CRDS_CLIENT_RETRY_DELAY_SECONDS: 20 envs: | - - linux: py311-jwst-xdist - - linux: py311-romancal-xdist + - linux: py311-jwst-cov-xdist + - linux: py311-romancal-cov-xdist + coverage: codecov diff --git a/tox.ini b/tox.ini index b3ab63c..2871a25 100644 --- a/tox.ini +++ b/tox.ini @@ -41,13 +41,16 @@ description = warnings: treating warnings as errors cov: with coverage xdist: using parallel processing +change_dir = + jwst,romancal: {env_tmp_dir} +allowlist_externals = + git + jwst,romancal: bash extras = test deps = xdist: pytest-xdist cov: pytest-cov - jwst: jwst[test] @ git+https://github.com/spacetelescope/jwst.git - romancal: romancal[test] @ git+https://github.com/spacetelescope/romancal.git oldestdeps: minimum_dependencies devdeps: astropy>=0.0.dev0 downstreamdeps: jwst @@ -56,10 +59,14 @@ deps = pass_env = CRDS_* CI + romancal: WEBBPSF_PATH set_env = devdeps: PIP_EXTRA_INDEX_URL = https://pypi.anaconda.org/astropy/simple https://pypi.anaconda.org/scientific-python-nightly-wheels/simple - jwst: CRDS_SERVER_URL=https://jwst-crds.stsci.edu - downstreamdeps: CRDS_SERVER_URL=https://jwst-crds.stsci.edu + jwst,downstreamdeps: CRDS_SERVER_URL=https://jwst-crds.stsci.edu + jwst: CRDS_SERVER_URL = https://jwst-crds.stsci.edu + jwst,romancal: CRDS_PATH = {package_root}/crds_cache + jwst,romancal: CRDS_CLIENT_RETRY_COUNT = 3 + jwst,romancal: CRDS_CLIENT_RETRY_DELAY_SECONDS = 20 romancal: CRDS_SERVER_URL=https://roman-crds.stsci.edu package = !cov: wheel @@ -72,15 +79,21 @@ commands_pre = # will allow numpy 2.0 to be installed (and won't work with numpy 2.0). So we pin it. oldestdeps: pip install numpy<2.0 oldestdeps: pip install -r requirements-min.txt + jwst,romancal: bash -c "pip freeze -q | grep 'stcal @' > {env_tmp_dir}/requirements.txt" + jwst: git clone https://github.com/spacetelescope/jwst.git + romancal: git clone https://github.com/spacetelescope/romancal.git + jwst: pip install -e jwst[test] + romancal: pip install -e romancal[test] + jwst,romancal: pip install -r {env_tmp_dir}/requirements.txt pip freeze commands = pytest \ warnings: -W error \ nolegacypath: -p no:legacypath \ xdist: -n auto \ - jwst: --pyargs jwst --ignore-glob=timeconversion --ignore-glob=associations --ignore-glob=*/scripts/* \ - romancal: --pyargs romancal \ - cov: --cov=src/stpipe --cov-config=pyproject.toml --cov-report=term-missing --cov-report=xml \ + jwst: jwst \ + romancal: romancal \ + cov: --cov={package_root} --cov-config={package_root}/pyproject.toml --cov-report=term-missing --cov-report=xml \ {posargs} [testenv:build-docs]