Skip to content

Commit f786855

Browse files
committed
feat: Support building Windows arm64 wheel
Since the ARM64 Windows wheel is built leveraging cross-compilation on a Windows 64-bit runner, there is no testing available. See https://cibuildwheel.readthedocs.io/en/stable/options/#archs
1 parent 91a3d75 commit f786855

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

.github/workflows/cd.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,18 @@ jobs:
7979
- run: pipx run twine check --strict all/*/*
8080

8181
build_wheels:
82-
name: Wheel on ${{ matrix.os }}
82+
name: Wheel on ${{ matrix.os }} (${{ matrix.arch }})
8383
runs-on: ${{ matrix.os }}
8484
strategy:
8585
fail-fast: false
8686
matrix:
8787
os: [ubuntu-latest, windows-latest, macos-latest]
88+
arch: ["auto"]
89+
90+
include:
91+
- os: windows-latest
92+
arch: "ARM64"
93+
test-skip: "*-win_arm64"
8894

8995
steps:
9096
- uses: actions/checkout@v4
@@ -94,6 +100,8 @@ jobs:
94100
- uses: pypa/[email protected]
95101
env:
96102
CIBW_BUILD: "cp312-*"
103+
CIBW_ARCHS: "${{ matrix.arch }}"
104+
CIBW_TEST_SKIP: "${{ matrix.test-skip }}"
97105

98106
- name: Upload wheels
99107
uses: actions/upload-artifact@v4

s5cmdUrls.cmake

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ set(win32_sha256 "ee667eb01b955a7dda588456bd102982f8344bed393a8b63b5d4c9c
2323
set(win64_filename "s5cmd_${version}_Windows-64bit.zip")
2424
set(win64_sha256 "f7c311907c78efa56e27a25fba1f87520754c402bbe1cb4901d3522f12a75497")
2525

26+
set(winarm64_filename "s5cmd_${version}_Windows-arm64.zip")
27+
set(winarm64_sha256 "61e0adf3635334fa62714a5cf221e03f3549392e9613f9a7591a03d8e6fe0d64")
2628

2729
cmake_host_system_information(RESULT is_64bit QUERY IS_64BIT)
2830

@@ -40,8 +42,11 @@ endif()
4042

4143
if(WIN32)
4244
set(archive "win32")
43-
if(is_64bit AND NOT (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "ARM64"))
45+
if(is_64bit)
4446
set(archive "win64")
47+
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "ARM64" OR "$ENV{SETUPTOOLS_EXT_SUFFIX}" MATCHES arm64)
48+
set(archive "winarm64")
49+
endif()
4550
endif()
4651
endif()
4752

0 commit comments

Comments
 (0)