diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 782c1c9..c9d06f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,6 +42,7 @@ jobs: - macos-latest # arm - macos-13 # intel - windows-latest + - windows-11-arm - ubuntu-latest - ubuntu-24.04-arm needs: generate-dotslash-files diff --git a/make_dotslash_file.py b/make_dotslash_file.py index 8ad0ceb..b3dcd26 100644 --- a/make_dotslash_file.py +++ b/make_dotslash_file.py @@ -8,7 +8,9 @@ from contextlib import contextmanager from dataclasses import dataclass from tempfile import _TemporaryFileWrapper -from typing import Final, Generator, Protocol +from typing import Final, Generator, Protocol, Any +import atexit +import tempfile @dataclass(frozen=True) @@ -82,7 +84,16 @@ class Platform: flavor="freethreaded+pgo+lto-full", path="python/install/bin/python", ), - # "windows-aarch64": PlatformConfig(...), + Platform("windows-aarch64"): PlatformConfig( + marker="aarch64-pc-windows-msvc", + flavor="install_only_stripped", + path="python/python.exe", + ), + Platform("windows-aarch64", free_threaded=True): PlatformConfig( + marker="aarch64-pc-windows-msvc", + flavor="freethreaded+pgo-full", + path="python/install/python.exe", + ), Platform("windows-x86_64"): PlatformConfig( marker="x86_64-pc-windows-msvc", flavor="install_only_stripped", @@ -241,6 +252,8 @@ def main() -> None: ) for platform in PLATFORMS.keys() if platform.free_threaded == args.free_threaded + # windows-aarch64 builds start at 3.11 + if not (platform.name == "windows-aarch64" and version in {"3.9", "3.10"}) } version_suffix = "t" if args.free_threaded else "" descriptor = {