Skip to content

Commit 3efe0ea

Browse files
authored
Add support for Python 3.15 (#1296)
* Test on and declare support for Python 3.15 * Upgrade CI tools
1 parent baf9431 commit 3efe0ea

4 files changed

Lines changed: 20 additions & 17 deletions

File tree

.github/workflows/ci.yml

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@ jobs:
2727
contents: read
2828
runs-on: ubuntu-latest
2929
steps:
30-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
30+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
3131
with:
3232
persist-credentials: false
33-
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
33+
- uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
3434
with:
3535
cache-dependency-glob: ".github/workflows/*.yml"
3636
cache-suffix: pre-commit-uv
3737
- run: uv tool install pre-commit --with pre-commit-uv --force-reinstall
38-
- uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
38+
- uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
3939
with:
4040
path: ~/.cache/pre-commit
4141
key: pre-commit-uv-v1-${{ hashFiles('.pre-commit-config.yaml') }}
@@ -61,21 +61,22 @@ jobs:
6161
- "3.12"
6262
- "3.13"
6363
- "3.14"
64+
- "3.15"
6465
- "pypy3.10"
6566
env:
6667
BABEL_CLDR_NO_DOWNLOAD_PROGRESS: "1"
6768
BABEL_CLDR_QUIET: "1"
6869
PIP_DISABLE_PIP_VERSION_CHECK: "1"
6970
steps:
70-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
71+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
7172
with:
7273
persist-credentials: false
73-
- uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
74+
- uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
7475
with:
7576
path: cldr
7677
key: cldr-${{ hashFiles('scripts/*cldr*') }}
7778
- name: Set up Python ${{ matrix.python-version }}
78-
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
79+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
7980
with:
8081
python-version: ${{ matrix.python-version }}
8182
allow-prereleases: true
@@ -90,7 +91,7 @@ jobs:
9091
env:
9192
COVERAGE_XML_PATH: ${{ runner.temp }}
9293
BABEL_TOX_EXTRA_DEPS: pytest-github-actions-annotate-failures
93-
- uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
94+
- uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
9495
with:
9596
directory: ${{ runner.temp }}
9697
flags: ${{ matrix.os }}-${{ matrix.python-version }}
@@ -103,18 +104,18 @@ jobs:
103104
runs-on: ubuntu-24.04
104105
needs: lint
105106
steps:
106-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
107+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
107108
with:
108109
persist-credentials: false
109-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
110+
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
110111
with:
111112
python-version: "3.14"
112113
cache: "pip"
113114
cache-dependency-path: "**/setup.py"
114115
- run: pip install build -e .
115116
- run: make import-cldr
116117
- run: python -m build
117-
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
118+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
118119
with:
119120
name: dist
120121
path: dist
@@ -130,12 +131,12 @@ jobs:
130131
permissions:
131132
id-token: write # Required for Trusted Publishing action
132133
steps:
133-
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
134+
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
134135
with:
135136
name: dist
136137
path: dist/
137138
- name: Publish package distributions to PyPI
138-
uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0
139+
uses: pypa/gh-action-pypi-publish@ba38be9e461d3875417946c167d0b5f3d385a247 # v1.14.1
139140
with:
140141
verbose: true
141142
print-hash: true

.github/workflows/security.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ jobs:
2222
security-events: write # via Zizmor example
2323
steps:
2424
- name: Checkout repository
25-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
25+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
2626
with:
2727
persist-credentials: false
2828
- name: Run zizmor
29-
uses: zizmorcore/zizmor-action@b1d7e1fb5de872772f31590499237e7cce841e8e # v0.5.3
29+
uses: zizmorcore/zizmor-action@6fc4b006235f201fdab3722e17240ab420d580e5 # v0.6.1

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ def run(self):
5454
'Programming Language :: Python :: 3.12',
5555
'Programming Language :: Python :: 3.13',
5656
'Programming Language :: Python :: 3.14',
57+
'Programming Language :: Python :: 3.15',
5758
'Programming Language :: Python :: Implementation :: CPython',
5859
'Programming Language :: Python :: Implementation :: PyPy',
5960
'Topic :: Software Development :: Internationalization',

tox.ini

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
[tox]
22
isolated_build = true
33
envlist =
4-
py{38,39,310,311,312,313}
4+
py{38,39,310,311,312,313,314,315}
55
pypy3
66
py{38}-pytz
7-
py{311,312,313}-setuptools
8-
py{312,313}-jinja
7+
py{311,312,313,314,315}-setuptools
8+
py{312,313,314,315}-jinja
99

1010
[testenv]
1111
extras =
@@ -37,3 +37,4 @@ python =
3737
3.12: py312
3838
3.13: py313
3939
3.14: py314
40+
3.15: py315

0 commit comments

Comments
 (0)