tree 892425126aee2b47fde26bca6f2e2c5836e5bf07
parent 71a04d2dd5d7c5356a3492d13aabce22021a3e8d
author Scott Todd <scotttodd@google.com> 1691542838 -0700
committer GitHub <noreply@github.com> 1691542838 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJk0uU2CRBK7hj4Ov3rIwAA2CIIALNNo5m6/1Fsjo2/Ft5WX0PT
 M9uWqyO0nb32++FPxLT13F/FRt/0XTjOdEl5+7rby1AGrGvzedTZZoghR4xdytSm
 Or7ouI5Z1T+4wy+qSozMDPgTK+34fXOyTp3Vj6eHs9B9txB+7vcS9zGE98htWkLa
 xqlRqpczlzzpzk+nPu/erz8QQIcwgC4HG/aShVLIVdQRE1Lw3GKQWi4BaZhW8Gfq
 yZ/rhUlxhYseaHMr+OvMxJ0eFFFf0RGMqGyuirqzoEAtkrYHyREUchInUGpswF7o
 W5PZHnLrISSALpCEWuVMUKbHubkHGTSKHy+RmHZxfogOkOZE74OoUf1OrAXt9/E=
 =kbs/
 -----END PGP SIGNATURE-----
 

Build and publish Windows Python releases. (#14575)

Fixes https://github.com/openxla/iree/issues/13484 (hopefully,
#test-in-prod)

* New setup script `build_tools/python_deploy/install_windows_deps.ps1`
can be used to install Python versions. GitHub Actions could use
https://github.com/actions/setup-python, but I wanted to match what we
have for macOS (`install_macos_deps.sh`). I tried writing this script in
bash, but couldn't run the Python installer with `/quiet` for some
reason, so it's written in powershell instead. Tested locally and on CI
but could be brittle on other systems since Windows is Windows.
* New build script `build_tools/python_deploy/build_windows_packages.sh`
is forked from matching Linux and macOS scripts. Also tested this
locally and on CI.

These scripts can build for multiple Python versions, but I'm starting
with just 3.11, which might be enough.

Tested at
https://github.com/openxla/iree/actions/runs/5765425296/job/15631341317,
and I sanity checked that I could install and use locally built wheels.