|
name: Build |
|
|
|
on: [push, pull_request, workflow_dispatch] |
|
|
|
jobs: |
|
build: |
|
runs-on: ${{ matrix.os }} |
|
strategy: |
|
matrix: |
|
# Available OS Images: |
|
# https://github.com/actions/runner-images/#available-images |
|
# |
|
# Allow Python pre-releases: |
|
# https://github.com/actions/setup-python/blob/main/docs/advanced-usage.md#allow-pre-releases |
|
# See "allow-prereleases: true" below. |
|
os: [ubuntu-latest] |
|
python: |
|
# Python versions (CPython): |
|
# https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json |
|
# |
|
# Python 3.7 is tested on Ubuntu 22.04 (below). |
|
# Python 3.6 is tested on Windows (below). |
|
- "3.8" |
|
- "3.9" |
|
- "3.10" |
|
- "3.11" |
|
- "3.12" |
|
- "3.13" |
|
- "3.13t" |
|
- "3.14" |
|
- "3.14t" |
|
- "3.15" |
|
- "3.15t" |
|
|
|
# PyPy versions: |
|
# - https://github.com/actions/setup-python/blob/main/docs/advanced-usage.md |
|
# - https://downloads.python.org/pypy/ |
|
# - Only versions listed in this JSON are supported: |
|
# https://downloads.python.org/pypy/versions.json |
|
- "pypy3.6" |
|
- "pypy3.7" |
|
- "pypy3.8" |
|
- "pypy3.9" |
|
- "pypy3.10" |
|
- "pypy3.11" |
|
- "pypy3.12" |
|
|
|
# Old PyPy versions |
|
# See https://github.com/pypy/pypy/issues/3990 |
|
- "pypy3.6-v7.3.2" |
|
- "pypy3.7-v7.3.2" |
|
|
|
include: |
|
# Windows |
|
- os: windows-latest |
|
python: "3.6" |
|
- os: windows-latest |
|
python: "3.7" |
|
- os: windows-latest |
|
python: "3.8" |
|
- os: windows-latest |
|
python: "3.9" |
|
- os: windows-latest |
|
python: "3.10" |
|
- os: windows-latest |
|
python: "3.11" |
|
- os: windows-latest |
|
python: "3.12" |
|
- os: windows-latest |
|
python: "3.13" |
|
- os: windows-latest |
|
python: "3.13t" |
|
- os: windows-latest |
|
python: "3.14" |
|
- os: windows-latest |
|
python: "3.14t" |
|
- os: windows-latest |
|
python: "3.15" |
|
- os: windows-latest |
|
python: "3.15t" |
|
|
|
# macOS |
|
# Python 3.9 is the oldest version available on macOS/arm64. |
|
- os: macos-latest |
|
python: "3.9" |
|
- os: macos-latest |
|
python: "3.10" |
|
- os: macos-latest |
|
python: "3.11" |
|
- os: macos-latest |
|
python: "3.12" |
|
- os: macos-latest |
|
python: "3.13" |
|
- os: macos-latest |
|
python: "3.13t" |
|
- os: macos-latest |
|
python: "3.14" |
|
- os: macos-latest |
|
python: "3.14t" |
|
- os: macos-latest |
|
python: "3.15" |
|
- os: macos-latest |
|
python: "3.15t" |
|
|
|
# Ubuntu: test deadsnakes Python versions which are not supported by |
|
# GHA python-versions. |
|
# https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa |
|
- os: ubuntu-22.04 |
|
python: "3.7" |
|
|
|
steps: |
|
# https://github.com/actions/checkout |
|
- uses: actions/checkout@v7 |
|
- name: Setup Python |
|
# https://github.com/actions/setup-python |
|
uses: actions/setup-python@v7 |
|
with: |
|
python-version: ${{ matrix.python }} |
|
allow-prereleases: true |
|
- name: Install setuptools |
|
run: python -m pip install setuptools |
|
- name: Display the Python version |
|
run: python -VV |
|
- name: Run tests |
|
run: python runtests.py --current --verbose |