Skip to content

Commit e05c074

Browse files
committed
Test with ARM64 Windows and also build wheels
Since GitHub Actions now has ARM64 Windows runners we can test and build natively. * Python ARM64 builds are only available since 3.11, so skip older versions for ARM64 everywhere. * Sodium has arm64 builds only in a later binary release, so update the tarball. Downloaded from here: https://download.libsodium.org/libsodium/releases/ * The arm64 sodium builds are only available for v143, so just bump to v143 everywhere to keep things simple.
1 parent 5848022 commit e05c074

File tree

4 files changed

+30
-17
lines changed

4 files changed

+30
-17
lines changed

.github/workflows/ci.yml

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -95,20 +95,27 @@ jobs:
9595
curl -o codecov.sh -f https://codecov.io/bash || curl -o codecov.sh -f https://codecov.io/bash || curl -o codecov.sh -f https://codecov.io/bash || curl -o codecov.sh -f https://codecov.io/bash || curl -o codecov.sh -f https://codecov.io/bash
9696
bash codecov.sh -n "Python ${{ matrix.PYTHON.VERSION }}${{ matrix.PYTHON.NOTE }} on macOS"
9797
windows:
98-
runs-on: windows-latest
98+
runs-on: ${{ matrix.WINDOWS.IMAGE }}
9999
strategy:
100100
matrix:
101101
WINDOWS:
102-
- {ARCH: 'x86', SODIUM_ARCH: 'Win32'}
103-
- {ARCH: 'x64', SODIUM_ARCH: 'x64'}
102+
- {ARCH: 'x86', SODIUM_ARCH: 'Win32', IMAGE: "windows-latest"}
103+
- {ARCH: 'x64', SODIUM_ARCH: 'x64', IMAGE: "windows-latest"}
104104
PYTHON:
105-
- {VERSION: "3.7", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v142"}
106-
- {VERSION: "3.8", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v142"}
107-
- {VERSION: "3.9", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v142"}
108-
- {VERSION: "3.10", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v142"}
109-
- {VERSION: "3.11", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v142"}
110-
- {VERSION: "3.12", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v142"}
111-
- {VERSION: "3.13", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v142"}
105+
- {VERSION: "3.7", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v143"}
106+
- {VERSION: "3.8", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v143"}
107+
- {VERSION: "3.9", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v143"}
108+
- {VERSION: "3.10", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v143"}
109+
- {VERSION: "3.11", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v143"}
110+
- {VERSION: "3.12", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v143"}
111+
- {VERSION: "3.13", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v143"}
112+
include:
113+
- WINDOWS: {ARCH: 'arm64', SODIUM_ARCH: 'ARM64', IMAGE: "windows-11-arm"}
114+
PYTHON: {VERSION: "3.11", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v143"}
115+
- WINDOWS: {ARCH: 'arm64', SODIUM_ARCH: 'ARM64', IMAGE: "windows-11-arm"}
116+
PYTHON: {VERSION: "3.12", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v143"}
117+
- WINDOWS: {ARCH: 'arm64', SODIUM_ARCH: 'ARM64', IMAGE: "windows-11-arm"}
118+
PYTHON: {VERSION: "3.13", NOXSESSION: "tests", SODIUM_MSVC_VERSION: "v143"}
112119
name: "Windows ${{ matrix.WINDOWS.ARCH }} ${{ matrix.PYTHON.VERSION }} ${{ matrix.PYTHON.NOXSESSION }}"
113120
steps:
114121
- uses: actions/[email protected]

.github/workflows/wheel-builder.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -125,14 +125,16 @@ jobs:
125125
name: "pynacl-${{ github.event.inputs.version }}-macOS-${{ matrix.PYTHON.VERSION }}"
126126
path: pynacl-wheelhouse/
127127
windows:
128-
runs-on: windows-latest
128+
runs-on: ${{ matrix.WINDOWS.IMAGE }}
129129
strategy:
130130
matrix:
131-
WINDOWS:
132-
- {ARCH: 'x86', SODIUM_ARCH: 'Win32', VS_ARCH: 'x86'}
133-
- {ARCH: 'x64', SODIUM_ARCH: 'x64', VS_ARCH: 'amd64'}
134-
PYTHON:
135-
- {VERSION: "3.9", SODIUM_MSVC_VERSION: "v142", "ABI_VERSION": "cp37"}
131+
include:
132+
- WINDOWS: {ARCH: 'x86', SODIUM_ARCH: 'Win32', VS_ARCH: 'x86', IMAGE: 'windows-latest'}
133+
PYTHON: {VERSION: '3.9', ABI_VERSION: 'cp37', SODIUM_MSVC_VERSION: 'v143'}
134+
- WINDOWS: {ARCH: 'x64', SODIUM_ARCH: 'x64', VS_ARCH: 'amd64', IMAGE: 'windows-latest'}
135+
PYTHON: {VERSION: '3.9', ABI_VERSION: 'cp37', SODIUM_MSVC_VERSION: 'v143'}
136+
- WINDOWS: {ARCH: 'arm64', SODIUM_ARCH: 'ARM64', VS_ARCH: 'arm64', IMAGE: 'windows-11-arm'}
137+
PYTHON: {VERSION: '3.11', ABI_VERSION: 'cp37', SODIUM_MSVC_VERSION: 'v143'}
136138
name: "${{ matrix.PYTHON.VERSION }} ${{ matrix.WINDOWS.ARCH }} ${{ matrix.PYTHON.ABI_VERSION }}"
137139
steps:
138140
- uses: actions/[email protected]
@@ -160,7 +162,7 @@ jobs:
160162
- name: Build the wheel
161163
run: |
162164
mkdir wheelhouse
163-
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -no_logo -arch=${{ matrix.WINDOWS.VS_ARCH }}
165+
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -no_logo -arch=${{ matrix.WINDOWS.VS_ARCH }}
164166
python -m build --wheel --config-setting=--build-option=--py-limited-api=${{ matrix.PYTHON.ABI_VERSION }}
165167
mv dist/pynacl*.whl wheelhouse/
166168
shell: cmd
4.08 MB
Binary file not shown.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
untrusted comment: signature from minisign secret key
2+
RUQf6LRCGA9i50j1qsFFuS0sFwTor4YgVaEg48uIZUI3McQGbM/VxlmYwDgo/IFX3yt0XbFTyP+nwoWLwD7PxR5UXV6JWDZF5gs=
3+
trusted comment: timestamp:1743694385 file:libsodium-1.0.20-stable-msvc.zip hashed
4+
mUFfkjvI+IOcOcQVAacUhM5ehcNJcb313JjOaHtqgE7YvnkaETCRVCOh7UcQ74jpOFltYmeONOidd1JAZrjjCw==

0 commit comments

Comments
 (0)