diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a11c5e1..faac220 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,7 +47,14 @@ jobs: matrix: python-version: ["3.9", "3.12", "3.13"] runs-on: - [ubuntu-latest, ubuntu-22.04-arm, macos-13, macos-14, windows-latest] + [ + ubuntu-latest, + ubuntu-22.04-arm, + macos-13, + macos-14, + windows-latest, + windows-11-arm, + ] steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: @@ -77,11 +84,27 @@ jobs: key: ${{ matrix.runs-on }}-hugo-${{ steps.setup-go.outputs.go-version }} - name: Install Python dependencies - run: python -m pip install build virtualenv nox + run: python -m pip install build virtualenv nox setuptools + + - name: Checkout zig-pypi on Windows arm64 + if: matrix.runs-on == 'windows-11-arm' + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + repository: agriyakhetarpal/zig-pypi + path: zig-pypi + ref: add-windows-arm-wheels + + - name: Install ziglang from zig-pypi on Windows arm64 + if: matrix.runs-on == 'windows-11-arm' + working-directory: zig-pypi + run: | + pipx run make_wheels.py --platform aarch64-windows --version 0.14.0 + pip install dist/ziglang-0.14.0-py3-none-win_arm64.whl - name: Build binary distribution (wheel) run: | - python -m build --wheel . --outdir wheelhouse/ + python -m build --wheel . --outdir wheelhouse/ --no-isolation - name: Test entry points for package run: nox -s venv diff --git a/pyproject.toml b/pyproject.toml index 1d57983..ecfcdeb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,9 @@ requires = [ # linux s390x and windows arm64 wheels are not yet available # skipping a marker for windows arm64 as nested markers are # not supported in PEP 508 AFAIU - "ziglang==0.14.0; platform_machine != 's390x'", + # "ziglang==0.14.0; platform_machine != 's390x'", + # ignore windows arm64 for now + "ziglang==0.14.0; platform_machine != 'aarch64' and sys_platform == 'win32'", ] build-backend = "setuptools.build_meta" diff --git a/setup.py b/setup.py index 3eb2dc1..f9a6f19 100644 --- a/setup.py +++ b/setup.py @@ -36,6 +36,7 @@ HUGO_ARCH = { "x86_64": "amd64", "arm64": "arm64", + "ARM64": "arm64", "AMD64": "amd64", "aarch64": "arm64", "x86": "386",