Skip to content

Commit 0db2839

Browse files
committed
Drop Python 3.8, confirm 3.13
1 parent 853889c commit 0db2839

File tree

13 files changed

+467
-479
lines changed

13 files changed

+467
-479
lines changed

.github/workflows/build-binaries.yml

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
name: Build Binaries
22
on:
3+
pull_request:
34
push:
45
branches:
56
- main
@@ -9,7 +10,7 @@ jobs:
910
# Compile the binaries and upload artifacts
1011
compile-binaries:
1112
strategy:
12-
fail-fast: true
13+
fail-fast: false
1314
matrix:
1415
include:
1516
- os: ubuntu-latest
@@ -19,7 +20,7 @@ jobs:
1920
runsOn: ubuntu-24.04-arm64-2-core
2021
- os: macos-intel
2122
package-suffix: macos-amd64
22-
runsOn: macos-12
23+
runsOn: macos-13
2324
- os: macos-arm
2425
package-suffix: macos-aarch64
2526
runsOn: macos-14
@@ -32,7 +33,7 @@ jobs:
3233
submodules: recursive
3334
- uses: actions/setup-python@v5
3435
with:
35-
python-version: "3.12"
36+
python-version: "3.13"
3637

3738
# Install Rust locally for non-Linux (Linux uses an internal docker
3839
# command to build with cibuildwheel which uses rustup install defined

.github/workflows/ci.yml

+9-19
Original file line numberDiff line numberDiff line change
@@ -12,30 +12,23 @@ jobs:
1212
strategy:
1313
fail-fast: false
1414
matrix:
15-
python: ["3.8", "3.12"]
15+
python: ["3.9", "3.13"]
1616
os: [ubuntu-latest, ubuntu-arm, macos-intel, macos-arm, windows-latest]
1717
include:
1818
- os: ubuntu-latest
19-
python: "3.12"
19+
python: "3.13"
2020
docsTarget: true
2121
cloudTestTarget: true
2222
clippyLinter: true
2323
- os: ubuntu-latest
24-
python: "3.8"
24+
python: "3.9"
2525
protoCheckTarget: true
2626
- os: ubuntu-arm
2727
runsOn: ubuntu-24.04-arm64-2-core
2828
- os: macos-intel
29-
runsOn: macos-12
29+
runsOn: macos-13
3030
- os: macos-arm
31-
runsOn: macos-14
32-
# macOS ARM 3.8 does not have an available Python build at
33-
# https://github.com/raw/actions/python-versions/main/versions-manifest.json.
34-
# See https://github.com/actions/setup-python/issues/808 and
35-
# https://github.com/actions/python-versions/pull/259.
36-
exclude:
37-
- os: macos-arm
38-
python: "3.8"
31+
runsOn: macos-latest
3932
runs-on: ${{ matrix.runsOn || matrix.os }}
4033
steps:
4134
- uses: actions/checkout@v4
@@ -47,17 +40,13 @@ jobs:
4740
workspaces: temporalio/bridge -> target
4841
- uses: actions/setup-python@v5
4942
with:
50-
# Pinning due to failed Windows builds on 3.12.5 https://github.com/temporalio/sdk-python/issues/637
51-
python-version: ${{ matrix.python == '3.12' && '3.12.4' || matrix.python }}
43+
python-version: ${{ matrix.python }}
5244
- uses: arduino/setup-protoc@v3
5345
with:
5446
# TODO(cretz): Can upgrade proto when https://github.com/arduino/setup-protoc/issues/99 fixed
5547
version: "23.x"
5648
repo-token: ${{ secrets.GITHUB_TOKEN }}
57-
# Using fixed Poetry version until
58-
# https://github.com/python-poetry/poetry/issues/7611 and
59-
# https://github.com/python-poetry/poetry/pull/7694 are fixed
60-
- run: python -m pip install --upgrade wheel "poetry==1.3.2" poethepoet
49+
- run: python -m pip install --upgrade wheel poetry poethepoet
6150
- run: poetry install --no-root --all-extras
6251
- run: poe bridge-lint
6352
if: ${{ matrix.clippyLinter }}
@@ -93,7 +82,7 @@ jobs:
9382
env:
9483
TEMPORAL_TEST_PROTO3: 1
9584
run: |
96-
poetry add "protobuf<4"
85+
poetry add --python 3.9 "protobuf<4"
9786
poe gen-protos
9887
poe format
9988
[[ -z $(git status --porcelain temporalio) ]] || (git diff temporalio; echo "Protos changed"; exit 1)
@@ -122,3 +111,4 @@ jobs:
122111
python-repo-path: ${{github.event.pull_request.head.repo.full_name}}
123112
version: ${{github.event.pull_request.head.ref}}
124113
version-is-repo-ref: true
114+
features-repo-ref: python-version-upgrade

.github/workflows/run-bench.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
workspaces: temporalio/bridge -> target
3838
- uses: actions/setup-python@v5
3939
with:
40-
python-version: "3.12"
40+
python-version: "3.13"
4141
- uses: arduino/setup-protoc@v3
4242
with:
4343
# TODO(cretz): Can upgrade proto when https://github.com/arduino/setup-protoc/issues/99 fixed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
![Temporal Python SDK](https://assets.temporal.io/w/py-banner.svg)
22

3-
[![Python 3.8+](https://img.shields.io/pypi/pyversions/temporalio.svg?style=for-the-badge)](https://pypi.org/project/temporalio)
3+
[![Python 3.9+](https://img.shields.io/pypi/pyversions/temporalio.svg?style=for-the-badge)](https://pypi.org/project/temporalio)
44
[![PyPI](https://img.shields.io/pypi/v/temporalio.svg?style=for-the-badge)](https://pypi.org/project/temporalio)
55
[![MIT](https://img.shields.io/pypi/l/temporalio.svg?style=for-the-badge)](LICENSE)
66

@@ -1367,7 +1367,7 @@ The Python SDK is built to work with Python 3.8 and newer. It is built using
13671367

13681368
To build the SDK from source for use as a dependency, the following prerequisites are required:
13691369

1370-
* [Python](https://www.python.org/) >= 3.8
1370+
* [Python](https://www.python.org/) >= 3.9
13711371
* Make sure the latest version of `pip` is in use
13721372
* [Rust](https://www.rust-lang.org/)
13731373
* [Protobuf Compiler](https://protobuf.dev/)

0 commit comments

Comments
 (0)