diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index c7ae700..47f4688 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -104,6 +104,13 @@ jobs: allow_failure: true prefix: '(Allowed failure)' + - os: ubuntu-latest + python: '3.12-dev' + tox_env: 'py312-test-devdeps' + toxposargs: --remote-data=any + allow_failure: true + prefix: '(Allowed failure)' + steps: - name: Check out repository uses: actions/checkout@v4 @@ -114,9 +121,7 @@ jobs: with: python-version: ${{ matrix.python }} - name: Install base dependencies - run: | - python -m pip install --upgrade pip - python -m pip install tox + run: python -m pip install --upgrade pip setuptools tox - name: Print Python, pip, setuptools, and tox versions run: | python -c "import sys; print(f'Python {sys.version}')" diff --git a/pyproject.toml b/pyproject.toml index 3df119c..8037e6a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -91,6 +91,8 @@ filterwarnings = [ 'error', # turn warnings into exceptions 'ignore:numpy.ufunc size changed:RuntimeWarning', 'ignore:numpy.ndarray size changed:RuntimeWarning', + # python 3.12 deprecation in matplotlib 3.9dev + 'ignore:datetime.datetime.utcfromtimestamp\(\) is deprecated:DeprecationWarning', ] [tool.coverage.run] diff --git a/tox.ini b/tox.ini index 6907469..3d9cda1 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] envlist = - py{39,310,311}-test{,-alldeps,-devdeps,-oldestdeps,-devinfra}{,-cov} - py{39,310,311}-test-numpy{122,123,124,125,126} + py{39,310,311,312}-test{,-alldeps,-devdeps,-oldestdeps,-devinfra}{,-cov} + py{39,310,311,312}-test-numpy{122,123,124,125,126} build_docs linkcheck codestyle @@ -16,7 +16,7 @@ isolated_build = true # Suppress display of matplotlib plots generated during docs build setenv = MPLBACKEND=agg - devdeps: PIP_EXTRA_INDEX_URL = https://pypi.anaconda.org/scientific-python-nightly-wheels/simple https://pypi.anaconda.org/astropy/simple + devdeps: PIP_EXTRA_INDEX_URL = https://pypi.anaconda.org/scientific-python-nightly-wheels/simple # Pass through the following environment variables which may be needed # for the CI @@ -83,6 +83,9 @@ extras = build_docs: docs commands = + # Force numpy-dev after matplotlib downgrades it + # (https://github.com/matplotlib/matplotlib/issues/26847) + devdeps: python -m pip install --pre --upgrade --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy pip freeze pytest --pyargs lacosmic {toxinidir}/docs \ cov: --cov lacosmic --cov-config={toxinidir}/pyproject.toml --cov-report xml:{toxinidir}/coverage.xml --cov-report term-missing \