fix: publish ARM64 local-mode wheels

AB
3mo ago
+29-0

Summary

  • add Linux ARM64 and Windows ARM64 wheel targets to the publish matrix
  • map those targets to the SEA asset names already produced by the release pipeline
  • add resolver tests for x64 and ARM64 filenames on Linux and Windows

The packaging jobs only download and bundle architecture-specific assets, so the existing hosted x64 runners can produce these pure-Python platform-tagged wheels without executing the bundled binary.

Testing

  • uv run --frozen pytest tests/test_sea_binary.py -q (8 passed)
  • uv run --frozen ruff check .
  • uv run --frozen pyright -p .
  • uv run --frozen mypy --platform linux .
  • full Python 3.9 and 3.14 suites run on Windows; only the pre-existing Windows failures addressed by #355 remained

Fixes #352


Summary by cubic

Publishes ARM64 wheels for Linux and Windows in local mode. Previously we only shipped x64 wheels; now we also build manylinux2014_aarch64 and win_arm64 to enable ARM64 installs without source builds.

  • Map new matrix entries to existing SEA assets: stagehand-server-v3-linux-arm64 and stagehand-server-v3-win32-arm64.exe.
  • Add tests that assert default binary filenames for Linux and Windows on x64 and ARM64.
  • Use hosted x64 runners only; packaging downloads architecture-specific assets and does not execute them. No runtime behavior change.