|
20 | 20 | {os: "ubuntu-22.04", arch: "x86_64", etcd_arch: "amd64"}, |
21 | 21 | {os: "ubuntu-22.04-arm", arch: "aarch64", etcd_arch: "arm64"}, |
22 | 22 | ] |
23 | | - python-version: ["3.11", "3.12", "3.13"] |
| 23 | + python-version: ["3.11", "3.12", "3.13", "3.14", "3.14t"] |
24 | 24 | runs-on: ${{ matrix.platform.os }} |
25 | 25 | steps: |
26 | 26 | - name: Checkout the revision |
|
29 | 29 | uses: actions/setup-python@v5 |
30 | 30 | with: |
31 | 31 | python-version: ${{ matrix.python-version }} |
| 32 | + allow-prereleases: true |
32 | 33 | - name: Set up Rust toolchain |
33 | 34 | uses: actions-rust-lang/setup-rust-toolchain@v1 |
34 | 35 | with: |
|
59 | 60 | {os: "ubuntu-22.04-arm", arch: "aarch64", maturin_arch: "aarch_64"}, |
60 | 61 | ] |
61 | 62 | manylinux: ["manylinux2014"] |
62 | | - python-version: ["3.11", "3.12", "3.13"] |
| 63 | + python-version: ["3.11", "3.12", "3.13", "3.14"] |
| 64 | + runs-on: ${{ matrix.platform.os }} |
| 65 | + steps: |
| 66 | + - name: Checkout the revision |
| 67 | + uses: actions/checkout@v4 |
| 68 | + - name: Build the wheel |
| 69 | + uses: PyO3/maturin-action@v1 |
| 70 | + env: |
| 71 | + PROTOC: /home/runner/.local/bin/protoc |
| 72 | + with: |
| 73 | + command: build |
| 74 | + args: --release -o dist -i python${{ matrix.python-version }} |
| 75 | + before-script-linux: | |
| 76 | + PB_REL="https://github.com/protocolbuffers/protobuf/releases" |
| 77 | + curl -LO $PB_REL/download/v23.2/protoc-23.2-linux-${{ matrix.platform.maturin_arch }}.zip |
| 78 | + unzip protoc-23.2-linux-${{ matrix.platform.maturin_arch }}.zip -d $HOME/.local |
| 79 | + export PATH="$PATH:$HOME/.local/bin" |
| 80 | + manylinux: ${{ matrix.manylinux }} |
| 81 | + target: ${{ matrix.platform.arch }} |
| 82 | + - name: Upload artifacts |
| 83 | + uses: actions/upload-artifact@v4 |
| 84 | + with: |
| 85 | + name: wheels-${{ matrix.manylinux }}-${{ matrix.platform.arch }}-${{ matrix.python-version }} |
| 86 | + path: dist |
| 87 | + |
| 88 | + release-linux-freethreaded: |
| 89 | + if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') |
| 90 | + needs: test |
| 91 | + strategy: |
| 92 | + fail-fast: false |
| 93 | + matrix: |
| 94 | + platform: [ |
| 95 | + {os: "ubuntu-22.04", arch: "x86_64", maturin_arch: "x86_64"}, |
| 96 | + {os: "ubuntu-22.04-arm", arch: "aarch64", maturin_arch: "aarch_64"}, |
| 97 | + ] |
| 98 | + manylinux: ["manylinux2014"] |
| 99 | + python-version: ["3.14t"] |
63 | 100 | runs-on: ${{ matrix.platform.os }} |
64 | 101 | steps: |
65 | 102 | - name: Checkout the revision |
@@ -91,7 +128,32 @@ jobs: |
91 | 128 | strategy: |
92 | 129 | fail-fast: false |
93 | 130 | matrix: |
94 | | - python-version: ["3.11", "3.12", "3.13"] |
| 131 | + python-version: ["3.11", "3.12", "3.13", "3.14"] |
| 132 | + steps: |
| 133 | + - name: Checkout the revision |
| 134 | + uses: actions/checkout@v4 |
| 135 | + - name: Install prerequisites |
| 136 | + run: | |
| 137 | + brew install protobuf |
| 138 | + - name: Build the wheel |
| 139 | + uses: PyO3/maturin-action@v1 |
| 140 | + with: |
| 141 | + command: build |
| 142 | + args: --release -o dist --target universal2-apple-darwin -i python${{ matrix.python-version }} |
| 143 | + - name: Upload artifacts |
| 144 | + uses: actions/upload-artifact@v4 |
| 145 | + with: |
| 146 | + name: wheels-macos-universal2-${{ matrix.python-version }} |
| 147 | + path: dist/* |
| 148 | + |
| 149 | + release-macos-freethreaded: |
| 150 | + if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') |
| 151 | + needs: test |
| 152 | + runs-on: macos-latest |
| 153 | + strategy: |
| 154 | + fail-fast: false |
| 155 | + matrix: |
| 156 | + python-version: ["3.14t"] |
95 | 157 | steps: |
96 | 158 | - name: Checkout the revision |
97 | 159 | uses: actions/checkout@v4 |
@@ -132,7 +194,7 @@ jobs: |
132 | 194 | path: dist |
133 | 195 |
|
134 | 196 | publish-to-pypi: |
135 | | - needs: [release-linux, release-macos, release-source] |
| 197 | + needs: [release-linux, release-linux-freethreaded, release-macos, release-macos-freethreaded, release-source] |
136 | 198 | environment: deploy-to-pypi |
137 | 199 | permissions: |
138 | 200 | id-token: write |
|
0 commit comments