Skip to content

DEP: upgrade minimal requirement on coverage.py and leverage auto combining #944

DEP: upgrade minimal requirement on coverage.py and leverage auto combining

DEP: upgrade minimal requirement on coverage.py and leverage auto combining #944

Workflow file for this run

on:
workflow_dispatch:
push:
paths:
- .github/workflows/tox.yml
- .github/workflows/test_tox.yml
- pyproject.toml
- tox.ini
- packages/subpackage/**
pull_request:
paths:
- .github/workflows/tox.yml
- .github/workflows/test_tox.yml
- pyproject.toml
- tox.ini
- packages/subpackage/**
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}
jobs:
test_pyos:
uses: ./.github/workflows/tox.yml
with:
envs: |
- linux: py314-inputs-linux
python-version: 3.14.5
- linux: py312-inputs-linux
- macos: py311-inputs-macos
- macos: py39-inputs-macos
- windows: py310-inputs-windows
toxargs: '-v'
runs-on: windows-2022
pytest: false
test_global_override:
uses: ./.github/workflows/tox.yml
with:
runs-on: |
linux: ubuntu-22.04
macos: macos-11
envs: |
- linux: py311-inputs
runs-on: ubuntu-latest
- linux: py311-inputs
posargs: not
timeout-minutes: 5
pytest: false
timeout-minutes: 2
test_default_python:
uses: ./.github/workflows/tox.yml
with:
default_python: '3.9'
envs: |
- linux: default_python
posargs: '9'
- linux: default_python
default_python: '3.12'
posargs: '12'
- linux: py313-python_version
python-version: '3.13'
posargs: 'CPython'
- linux: pypy310-python_version
python-version: 'pypy-3.10'
posargs: 'PyPy'
pytest: false
test_python_version_glob:
uses: ./.github/workflows/tox.yml
with:
envs: |
- linux: pep8
- linux: py3*
- macos: py31*
pytest: false
test_libraries:
uses: ./.github/workflows/tox.yml
with:
libraries: |
apt:
- rolldice
brew:
- openjpeg
envs: |
- linux: libraries
posargs: 'rolldice -v'
- macos: libraries
posargs: 'which opj_compress'
- linux: libraries
posargs: 'bcal -h'
libraries:
apt:
- bcal
- windows: libraries
posargs: 'dot -V'
libraries:
apt:
- shouldnotinstall12345
choco:
- graphviz
# test no libraries override
- linux: libraries
libraries: ''
posargs: 'rolldice -v && exit 1 || exit 0'
pytest: false
test_venv:
uses: ./.github/workflows/tox.yml
with:
envs: |
- linux: pep8
name: style_check
pytest: false
- linux: py312
- macos: py311
- windows: py310
test_conda:
uses: ./.github/workflows/tox.yml
with:
envs: |
- linux: py312-conda
- macos: py311-conda
- windows: py310-conda
test_setenv:
uses: ./.github/workflows/tox.yml
with:
setenv: |
MY_VAR: global_value
envs: |
- linux: setenv-local
setenv: |
MY_VAR: local_value
- macos: setenv-global
test_cache_setup:
uses: ./.github/workflows/tox.yml
with:
cache-path: a/
cache-key: cache-${{ github.run_id }}
envs: |
- linux: cache-setup
test_cache_verify:
needs: [test_cache_setup]
uses: ./.github/workflows/tox.yml
with:
envs: |
- linux: cache-verify
cache-path: |
a/
cache-key: cache-${{ github.run_id }}
test_coverage_github:
uses: ./.github/workflows/tox.yml
with:
coverage: github
envs: |
# covcheck uses an explicit coverage run
- linux: py313-covcheck
# Now also test it works with pytest-cov
- linux: py314
posargs: --cov=test_package
# And test it works if the pytest command isn't run in the toxinidir
- linux: py314-tmpdir
posargs: --cov=test_package
test_coverage_codecov:
uses: ./.github/workflows/tox.yml
permissions:
id-token: write
with:
coverage: codecov-oidc
envs: |
# covcheck uses an explicit coverage run
- linux: py313-covcheck
# Now also test it works with pytest-cov
- linux: py314
posargs: --cov=test_package
# And test it works if the pytest command isn't run in the toxinidir
- linux: py314-tmpdir
posargs: --cov=test_package
# This job should fail and print a warning
- linux: py314-tmpdir_warning
posargs: --cov=test_package
test_artifact_upload:
uses: ./.github/workflows/tox.yml
with:
envs: |
- linux: artifact-upload
pytest: false
artifact-path: test.txt
artifact-include-hidden-files: true
- linux: artifact-upload
pytest: false
artifact-path: test.txt
artifact-archive: false
artifact-if-no-files-found: error
test_artifact_download:
needs: [test_artifact_upload]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: artifact-upload-(ubuntu-latest)
path: .
- run: python -c "assert open('test.txt').read().strip() == 'hello world'"
test_pytest_args:
uses: ./.github/workflows/tox.yml
with:
envs: |
- linux: py312-linux
pytest-results-summary: true
test_prereleases:
uses: ./.github/workflows/tox.yml
with:
envs: |
- linux: py312
test_freethreaded:
uses: ./.github/workflows/tox.yml
with:
envs: |
- linux: py313t-linux
- macos: py313t-macos
- windows: py313t-windows
test_working_directory:
uses: ./.github/workflows/tox.yml
with:
working-directory: packages/subpackage
envs: |
- linux: py312