5151          - { VERSION: "cp39-cp39", ABI_VERSION: 'cp39' } 
5252          - { VERSION: "pp311-pypy311_pp73" } 
5353          - { VERSION: "cp313-cp313t" } 
54+           - { VERSION: "cp314-cp314t" } 
5455        MANYLINUX :
5556          - { NAME: "manylinux2014_x86_64", CONTAINER: "cryptography-manylinux2014:x86_64", RUNNER: "ubuntu-latest" } 
5657          - { NAME: "manylinux_2_28_x86_64", CONTAINER: "cryptography-manylinux_2_28:x86_64", RUNNER: "ubuntu-latest"} 
8687          #  No PyPy on armv7l either
8788          - PYTHON : { VERSION: "pp311-pypy311_pp73" } 
8889            MANYLINUX : { NAME: "manylinux_2_31_armv7l", CONTAINER: "cryptography-manylinux_2_31:armv7l", RUNNER: "ubuntu-24.04-arm" } 
90+ 
91+           #  No Python 3.14 on musllinux_1_1
92+           - Python : { VERSION: "cp314-cp314"} 
93+             MANYLINUX : { NAME: "musllinux_1_1_x86_64", CONTAINER: "cryptography-musllinux_1_1:x86_64", RUNNER: "ubuntu-latest"} 
94+           - Python : { VERSION: "cp314-cp314"} 
95+             MANYLINUX : { NAME: "musllinux_1_1_aarch64", CONTAINER: "cryptography-musllinux_1_1:aarch64", RUNNER: "ubuntu-24.04-arm" } 
96+ 
97+           - Python : { VERSION: "cp314-cp314t"} 
98+             MANYLINUX : { NAME: "musllinux_1_1_x86_64", CONTAINER: "cryptography-musllinux_1_1:x86_64", RUNNER: "ubuntu-latest"} 
99+           - Python : { VERSION: "cp314-cp314t"} 
100+             MANYLINUX : { NAME: "musllinux_1_1_aarch64", CONTAINER: "cryptography-musllinux_1_1:aarch64", RUNNER: "ubuntu-24.04-arm" } 
101+ 
89102    name : " ${{ matrix.PYTHON.VERSION }} for ${{ matrix.MANYLINUX.NAME }}" 
90103    container :
91104      image : ghcr.io/pyca/${{ matrix.MANYLINUX.CONTAINER }} 
@@ -129,7 +142,7 @@ jobs:
129142      - run : mv wheelhouse/bcrypt*.whl bcrypt-wheelhouse/ 
130143      - uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02  #  v4.6.2
131144        with :
132-           name : " bcrypt-${{ github.event.inputs.version }}-${{ matrix.MANYLINUX.NAME }}  -${{ matrix.PYTHON.VERSION }}" 
145+           name : " bcrypt-${{ github.event.inputs.version }}-${{ matrix.MANYLINUX.NAME }}-${{ matrix.PYTHON.VERSION  }}${{ matrix.PYTHON.ABI_VERSION  }}" 
133146          path : bcrypt-wheelhouse/ 
134147
135148  macos :
@@ -141,34 +154,38 @@ jobs:
141154        PYTHON :
142155          - VERSION : ' 3.11' 
143156            ABI_VERSION : ' cp38' 
144-             DOWNLOAD_URL : ' https://www.python.org/ftp/python/3.11.3 /python-3.11.3 -macos11.pkg' 
157+             DOWNLOAD_URL : ' https://www.python.org/ftp/python/3.11.9 /python-3.11.9 -macos11.pkg' 
145158            BIN_PATH : ' /Library/Frameworks/Python.framework/Versions/3.11/bin/python3' 
146159          - VERSION : ' 3.11' 
147160            ABI_VERSION : ' cp39' 
148-             DOWNLOAD_URL : ' https://www.python.org/ftp/python/3.11.3 /python-3.11.3 -macos11.pkg' 
161+             DOWNLOAD_URL : ' https://www.python.org/ftp/python/3.11.9 /python-3.11.9 -macos11.pkg' 
149162            BIN_PATH : ' /Library/Frameworks/Python.framework/Versions/3.11/bin/python3' 
150163          - VERSION : ' 3.13t' 
151-             DOWNLOAD_URL : ' https://www.python.org/ftp/python/3.13.1 /python-3.13.1 -macos11.pkg' 
164+             DOWNLOAD_URL : ' https://www.python.org/ftp/python/3.13.7 /python-3.13.7 -macos11.pkg' 
152165            BIN_PATH : ' /Library/Frameworks/PythonT.framework/Versions/3.13/bin/python3.13t' 
166+           - VERSION : ' 3.14t' 
167+             DOWNLOAD_URL : ' https://www.python.org/ftp/python/3.14.0/python-3.14.0rc2-macos11.pkg' 
168+             BIN_PATH : ' /Library/Frameworks/PythonT.framework/Versions/3.14/bin/python3.14t' 
153169    name : " Python ${{ matrix.PYTHON.VERSION }} ${{ matrix.PYTHON.ABI_VERSION }} on macOS" 
154170    steps :
155171      - uses : actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493  #  v4.2.2
156172        with :
157173          #  The tag to build or the tag received by the tag event
158174          ref : ${{ github.event.inputs.version || github.ref }} 
159175          sparse-checkout : | 
160-             .github/config/macos-pkg-choices-freethreaded.xml 
176+             .github/config/macos-pkg-choices-freethreaded-3.13t.xml 
177+             .github/config/macos-pkg-choices-freethreaded-3.14t.xml 
161178persist-credentials : false 
162179      - name : Install Python 
163-         if : matrix.PYTHON.VERSION != '3.13t'  
180+         if : ${{ !endsWith( matrix.PYTHON.VERSION, 't') }} 
164181        run : | 
165182          curl "${{ matrix.PYTHON.DOWNLOAD_URL }}" -o python.pkg 
166183          sudo installer -pkg python.pkg -target / 
167- name : Install Python 
168-         if : matrix.PYTHON.VERSION == '3.13t'  
184+ name : Install Python (free-threaded)  
185+         if : ${{ endsWith( matrix.PYTHON.VERSION, 't') }} 
169186        run : | 
170187          curl "${{ matrix.PYTHON.DOWNLOAD_URL }}" -o python.pkg 
171-           sudo installer -pkg python.pkg -applyChoiceChangesXML .github/config/macos-pkg-choices-freethreaded.xml -target / 
188+           sudo installer -pkg python.pkg -applyChoiceChangesXML .github/config/macos-pkg-choices-freethreaded-${{ matrix.PYTHON.VERSION  }} .xml -target / 
172189uses : dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 
173190        with :
174191          toolchain : stable 
@@ -200,7 +217,7 @@ jobs:
200217      - run : mv wheelhouse/bcrypt*.whl bcrypt-wheelhouse/ 
201218      - uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02  #  v4.6.2
202219        with :
203-           name : " bcrypt-${{ github.event.inputs.version }}-macOS-${{ matrix.PYTHON.ABI_VERSION }}" 
220+           name : " bcrypt-${{ github.event.inputs.version }}-macOS-${{ matrix.PYTHON.VERSION  }}${{ matrix.PYTHON. ABI_VERSION }}" 
204221          path : bcrypt-wheelhouse/ 
205222
206223  windows :
@@ -217,6 +234,7 @@ jobs:
217234          - {VERSION: "3.11", ABI_VERSION: "cp38"} 
218235          - {VERSION: "3.11", ABI_VERSION: "cp39"} 
219236          - {VERSION: "3.13t"} 
237+           - {VERSION: "3.14t-dev"} 
220238    name : " ${{ matrix.PYTHON.VERSION }} ${{ matrix.PYTHON.ABI_VERSION }} ${{ matrix.WINDOWS.ARCH }}" 
221239    steps :
222240      - uses : actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0  #  v5.0.0
@@ -251,5 +269,5 @@ jobs:
251269      - run : move wheelhouse\bcrypt*.whl bcrypt-wheelhouse\ 
252270      - uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02  #  v4.6.2
253271        with :
254-           name : " bcrypt-${{ github.event.inputs.version }}-${{ matrix.WINDOWS.ARCH }}-${{ matrix.PYTHON.ABI_VERSION }}" 
272+           name : " bcrypt-${{ github.event.inputs.version }}-${{ matrix.WINDOWS.ARCH }}-${{ matrix.PYTHON.VERSION  }}${{ matrix.PYTHON. ABI_VERSION }}" 
255273          path : bcrypt-wheelhouse\ 
0 commit comments