Skip to content

Commit 562679a

Browse files
committed
CI: Add python 3.14.0-rc.1 (as experimental python version).
1 parent 4d408d8 commit 562679a

6 files changed

Lines changed: 400 additions & 271 deletions

File tree

.github/workflows/release-to-pypi.yml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
1-
# -- WORKFLOW: Publish/release this package on PyPI
2-
# SEE:
1+
# =============================================================================
2+
# GITHUB ACTIONS WORKFLOW: Publish/release this package on PyPI
3+
# =============================================================================
4+
# RELATED: Github actions -- Publishing a Python package
35
# * https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
46
# * https://docs.github.com/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-python#publishing-to-pypi
7+
# * https://github.com/actions/starter-workflows/blob/main/ci/python-publish.yml
8+
#
9+
# RELATED TO: pypi.org
10+
# * https://docs.pypi.org/trusted-publishers/
11+
# * https://docs.pypi.org/trusted-publishers/adding-a-publisher/
512
#
13+
# RELATED: Github actions workflows
614
# * https://docs.github.com/en/actions/writing-workflows
715
# * https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs
816
# * https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#release
917
#
1018
# GITHUB ACTIONS:
1119
# * https://github.com/actions/checkout
1220
# * https://github.com/pypa/gh-action-pypi-publish
13-
#
14-
# RELATED:
15-
# * https://github.com/actions/starter-workflows/blob/main/ci/python-publish.yml
21+
# =============================================================================
1622

1723
# -- STATE: PREPARED_ONLY, NOT_RELEASED_YET
1824
name: release-to-pypi
@@ -38,15 +44,15 @@ jobs:
3844
- uses: actions/checkout@v5
3945
- uses: actions/setup-python@v5
4046
with:
41-
python-version: "3.10"
47+
python-version: "3.13"
4248
- name: "Install Python package dependencies (with: uv)"
4349
run: |
4450
python -m pip install -U uv
4551
python -m uv pip install -U pip setuptools wheel build twine
4652
- name: Build this package
4753
run: python -m build
4854
- name: Check this package (before upload)
49-
run: twine check dist/*
55+
run: twine check --strict dist/*
5056
- name: Upload this package to PyPI
5157
uses: pypa/gh-action-pypi-publish@release/v1
5258
with:

.github/workflows/test-pypy27.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ on:
1414
jobs:
1515
test:
1616
runs-on: ubuntu-latest
17+
# -- DISABLED: continue-on-error: true
1718
strategy:
1819
fail-fast: false
1920
matrix:
@@ -26,11 +27,17 @@ jobs:
2627
cache: 'pip'
2728
cache-dependency-path: 'py.requirements/*.txt'
2829

29-
- name: Install Python package dependencies
30+
- name: Install Python package dependencies (step 0)
3031
run: |
31-
python -m pip install -U pip setuptools wheel
32-
pip install --upgrade -r py.requirements/ci.github.testing.txt
33-
pip install -e .
32+
python -m pip install -U pip setuptools build wheel
33+
pip --version
34+
- name: Install Python package dependencies (step 1)
35+
run: |
36+
pip install -r py.requirements/ci.github.testing.txt
37+
pip list
38+
- name: Install Python package dependencies (step 2)
39+
run: |
40+
pip install .
3441
- name: Run tests
3542
run: pytest
3643
- name: Upload test reports

.github/workflows/test-windows.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# -- SOURCE: https://github.com/marketplace/actions/setup-python
2+
# SEE: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
3+
# SUPPORTED PYTHON VERSIONS: https://github.com/actions/python-versions
4+
5+
name: test-windows
6+
on:
7+
workflow_dispatch:
8+
push:
9+
branches: [ "main", "release/**" ]
10+
pull_request:
11+
types: [opened, reopened, review_requested]
12+
branches: [ "main" ]
13+
14+
env:
15+
PYTHONUTF8: 1
16+
17+
jobs:
18+
test:
19+
strategy:
20+
fail-fast: false
21+
matrix:
22+
# PREPARED: os: [ubuntu-latest, macos-latest, windows-latest]
23+
# DISABLED: os: [ubuntu-latest, windows-latest]
24+
python-version: ["3.13", "3.12", "3.11", "3.10"]
25+
# -- PREPARED FOR: Experimental Python versions with "continue-on-error".
26+
experimental: [false]
27+
include:
28+
- python-version: "3.14.0-rc.1"
29+
experimental: true
30+
# -- DISABLED:
31+
# exclude:
32+
# - os: windows-latest
33+
# python-version: "2.7"
34+
# DISABLED: runs-on: ${{ matrix.os }}
35+
runs-on: "windows-latest"
36+
continue-on-error: ${{ matrix.experimental }}
37+
steps:
38+
- uses: actions/checkout@v5
39+
# DISABLED: name: Setup Python ${{ matrix.python-version }} on platform=${{ matrix.os }}
40+
- uses: actions/setup-python@v5
41+
with:
42+
python-version: ${{ matrix.python-version }}
43+
# DISABLED: cache: 'pip'
44+
# DISABLED: cache-dependency-path: 'py.requirements/*.txt'
45+
# -- DISABLED:
46+
# - name: Show Python version
47+
# run: python --version
48+
- name: setup-uv -- Speed-up Python package installations ...
49+
uses: astral-sh/setup-uv@v3
50+
with:
51+
enable-cache: true
52+
cache-dependency-glob: |
53+
**/pyproject.toml
54+
**/py.requirements/ci.github.testing.txt
55+
**/py.requirements/basic.txt
56+
**/py.requirements/testing.txt
57+
- name: "Install Python package dependencies (with: uv)"
58+
run: |
59+
uv pip install --system -U pip setuptools wheel
60+
uv pip install --system -U -r py.requirements/ci.github.testing.txt
61+
uv pip install --system -e .
62+
- name: Run tests
63+
run: pytest
64+
- name: Upload test reports
65+
uses: actions/upload-artifact@v4
66+
with:
67+
name: test reports
68+
path: |
69+
build/testing/report.xml
70+
build/testing/report.html
71+
if: ${{ job.status == 'failure' }}
72+
# MAYBE: if: ${{ always() }}

.github/workflows/test.yml

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,35 @@ on:
1414
jobs:
1515
test:
1616
# -- EXAMPLE: runs-on: ubuntu-latest
17-
runs-on: ${{ matrix.os }}
1817
strategy:
1918
fail-fast: false
2019
matrix:
2120
# PREPARED: os: [ubuntu-latest, macos-latest, windows-latest]
22-
os: [ubuntu-latest, windows-latest]
23-
python-version: ["3.13.0-rc.3", "3.12", "3.11", "3.10"]
24-
exclude:
25-
- os: windows-latest
26-
python-version: "2.7"
21+
# DISABLED: os: [ubuntu-latest, windows-latest]
22+
python-version: ["3.13", "3.12", "3.11", "3.10"]
23+
# -- PREPARED FOR: Experimental Python versions with "continue-on-error".
24+
experimental: [false]
25+
include:
26+
- python-version: "3.14.0-rc.1"
27+
experimental: true
28+
# -- DISABLED:
29+
# exclude:
30+
# - os: windows-latest
31+
# python-version: "2.7"
32+
# DISABLED: runs-on: ${{ matrix.os }}
33+
runs-on: "ubuntu-latest"
34+
continue-on-error: ${{ matrix.experimental }}
2735
steps:
2836
- uses: actions/checkout@v5
2937
# DISABLED: name: Setup Python ${{ matrix.python-version }} on platform=${{ matrix.os }}
3038
- uses: actions/setup-python@v5
3139
with:
3240
python-version: ${{ matrix.python-version }}
33-
cache: 'pip'
34-
cache-dependency-path: 'py.requirements/*.txt'
41+
# DISABLED: cache: 'pip'
42+
# DISABLED: cache-dependency-path: 'py.requirements/*.txt'
43+
# -- DISABLED:
44+
# - name: Show Python version
45+
# run: python --version
3546
- name: setup-uv -- Speed-up Python package installations ...
3647
uses: astral-sh/setup-uv@v3
3748
with:
@@ -40,6 +51,7 @@ jobs:
4051
**/pyproject.toml
4152
**/py.requirements/ci.github.testing.txt
4253
**/py.requirements/basic.txt
54+
**/py.requirements/testing.txt
4355
- name: "Install Python package dependencies (with: uv)"
4456
run: |
4557
uv pip install --system -U pip setuptools wheel

0 commit comments

Comments
 (0)