* Remove redundant Python 2 code
* Use Python 3.2 as base version
* Use Python 3.3 as base version
* Use Python 3.4 as base version
* Use Python 3.5 as base version
* Use Python 3.6 as base version
* Use Python 3.7 as base version
* Use Python 3.8 as base version
* Use Python 3.9 as base version
* Add annotationlib for Python 3.14
* Fix syntax error
* Support building free-threaded CPython
Add support for Python's free threading build mode where the global
interpreter lock is disabled. The packages are marked using a suffix on
the architecture, like 'x64-freethreaded' or 'arm64-freethreaded'.
* Match '-freethreaded' in arch
* Use type 'string' instead of 'str'
* On Linux, only delete Python installations with the same architecture.
This matches the macOS behavior and allows users to install both the
free-threading and default builds at the same time.
* fix: always reinstall pip
If the default pip version is also the latest one,
then the `pip` executable will be missing as the default pip
is installed only as `pip3`/`pip3.x`.
In order to always provide a `pip` executable, always reinstall pip.
* chore(ci): change default version to 3.12.3
Default to the latest stable version.
* fix: error out on install failure in "Apply build artifact to the local machine" step
* fix: error out on pip installation / update failure
* fix: use environment variable for `PIP_ROOT_USER_ACTION`
This extends the fix from #259 since every platform for 3.8.10 / 3.9.13 has been rebuilt instead of just macOS arm64 being added.
The regression was introduced in #223