Skip to content

Further trim down envs and drop Python 3.8. #266

Further trim down envs and drop Python 3.8.

Further trim down envs and drop Python 3.8. #266

Workflow file for this run

name: Tests
on: [push, pull_request, workflow_dispatch]
jobs:
examples:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["pypy-3.9", "3.11"]
target: [
"src-layout",
"adhoc-layout",
]
include:
# Add new helper variables to existing jobs
- {python-version: "pypy-3.9", tox-python-version: "pypy3"}
- {python-version: "3.11", tox-python-version: "py311"}
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Cache
uses: actions/cache@v4
with:
path: ~/.cache/pip
key:
examples-v1-${{ hashFiles('**/tox.ini') }}
restore-keys: |
examples-v1-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade wheel
python -m pip install --progress-bar=off tox -rci/requirements.txt
- name: Examples
run: |
cd examples/${{ matrix.target }}
tox -v -e ${{ matrix.tox-python-version }}
test:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
include:
- name: 'check'
python: '3.11'
toxpython: 'python3.11'
tox_env: 'check'
os: 'ubuntu-latest'
- name: 'docs'
python: '3.11'
toxpython: 'python3.11'
tox_env: 'docs'
os: 'ubuntu-latest'
- name: 'py39-pytest83-xdist36-coverage76 (ubuntu)'
python: '3.9'
toxpython: 'python3.9'
python_arch: 'x64'
tox_env: 'py39-pytest83-xdist36-coverage76'
os: 'ubuntu-latest'
- name: 'py39-pytest83-xdist36-coverage76 (windows)'
python: '3.9'
toxpython: 'python3.9'
python_arch: 'x64'
tox_env: 'py39-pytest83-xdist36-coverage76'
os: 'windows-latest'
- name: 'py39-pytest83-xdist36-coverage76 (macos)'
python: '3.9'
toxpython: 'python3.9'
python_arch: 'arm64'
tox_env: 'py39-pytest83-xdist36-coverage76'
os: 'macos-latest'
- name: 'py310-pytest83-xdist36-coverage76 (ubuntu)'
python: '3.10'
toxpython: 'python3.10'
python_arch: 'x64'
tox_env: 'py310-pytest83-xdist36-coverage76'
os: 'ubuntu-latest'
- name: 'py310-pytest83-xdist36-coverage76 (windows)'
python: '3.10'
toxpython: 'python3.10'
python_arch: 'x64'
tox_env: 'py310-pytest83-xdist36-coverage76'
os: 'windows-latest'
- name: 'py310-pytest83-xdist36-coverage76 (macos)'
python: '3.10'
toxpython: 'python3.10'
python_arch: 'arm64'
tox_env: 'py310-pytest83-xdist36-coverage76'
os: 'macos-latest'
- name: 'py311-pytest83-xdist36-coverage76 (ubuntu)'
python: '3.11'
toxpython: 'python3.11'
python_arch: 'x64'
tox_env: 'py311-pytest83-xdist36-coverage76'
os: 'ubuntu-latest'
- name: 'py311-pytest83-xdist36-coverage76 (windows)'
python: '3.11'
toxpython: 'python3.11'
python_arch: 'x64'
tox_env: 'py311-pytest83-xdist36-coverage76'
os: 'windows-latest'
- name: 'py311-pytest83-xdist36-coverage76 (macos)'
python: '3.11'
toxpython: 'python3.11'
python_arch: 'arm64'
tox_env: 'py311-pytest83-xdist36-coverage76'
os: 'macos-latest'
- name: 'py312-pytest83-xdist36-coverage76 (ubuntu)'
python: '3.12'
toxpython: 'python3.12'
python_arch: 'x64'
tox_env: 'py312-pytest83-xdist36-coverage76'
os: 'ubuntu-latest'
- name: 'py312-pytest83-xdist36-coverage76 (windows)'
python: '3.12'
toxpython: 'python3.12'
python_arch: 'x64'
tox_env: 'py312-pytest83-xdist36-coverage76'
os: 'windows-latest'
- name: 'py312-pytest83-xdist36-coverage76 (macos)'
python: '3.12'
toxpython: 'python3.12'
python_arch: 'arm64'
tox_env: 'py312-pytest83-xdist36-coverage76'
os: 'macos-latest'
- name: 'pypy39-pytest83-xdist36-coverage76 (ubuntu)'
python: 'pypy-3.9'
toxpython: 'pypy3.9'
python_arch: 'x64'
tox_env: 'pypy39-pytest83-xdist36-coverage76'
os: 'ubuntu-latest'
- name: 'pypy39-pytest83-xdist36-coverage76 (windows)'
python: 'pypy-3.9'
toxpython: 'pypy3.9'
python_arch: 'x64'
tox_env: 'pypy39-pytest83-xdist36-coverage76'
os: 'windows-latest'
- name: 'pypy39-pytest83-xdist36-coverage76 (macos)'
python: 'pypy-3.9'
toxpython: 'pypy3.9'
python_arch: 'arm64'
tox_env: 'pypy39-pytest83-xdist36-coverage76'
os: 'macos-latest'
- name: 'pypy310-pytest83-xdist36-coverage76 (ubuntu)'
python: 'pypy-3.10'
toxpython: 'pypy3.10'
python_arch: 'x64'
tox_env: 'pypy310-pytest83-xdist36-coverage76'
os: 'ubuntu-latest'
- name: 'pypy310-pytest83-xdist36-coverage76 (windows)'
python: 'pypy-3.10'
toxpython: 'pypy3.10'
python_arch: 'x64'
tox_env: 'pypy310-pytest83-xdist36-coverage76'
os: 'windows-latest'
- name: 'pypy310-pytest83-xdist36-coverage76 (macos)'
python: 'pypy-3.10'
toxpython: 'pypy3.10'
python_arch: 'arm64'
tox_env: 'pypy310-pytest83-xdist36-coverage76'
os: 'macos-latest'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
architecture: ${{ matrix.python_arch }}
- name: install dependencies
run: |
python -mpip install --progress-bar=off -r ci/requirements.txt
virtualenv --version
pip --version
tox --version
pip list --format=freeze
- name: test
env:
TOXPYTHON: '${{ matrix.toxpython }}'
run: >
tox -e ${{ matrix.tox_env }} -v
successful:
# this provides a single status check for branch merge rules
# (use this in `Require status checks to pass before merging` in branch settings)
if: always()
needs:
- test
- examples
runs-on: ubuntu-latest
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}