* Add support for graalpy
* add graalpy test workflow
* format, lint and build
* symlink graalpy binaries names
* fix macos names for graalpy
* Don't attempt to update pip for graalpy
* Remove test schedule
* Extract common getBinaryDirectory function for PyPy and GraalPy
* Clean up and format
* Pass GitHub token to GraalPy queries
* Utilize pagination when querying GraalPy GitHub releases
* Build
* Fix lint errors
* Deal with possible multiple artifacts for a single releases
* Skip few GraalPy tests on windows - we don't have a windows release yet
* Fix GraalPy test on Mac OS
* Build
* Skip one more GraalPy test on windows
---------
Co-authored-by: Michael Simacek <michael.simacek@oracle.com>
This allows to specify version like `3.11` or `pypy3.10` in workflows before those versions are released.
This lessen the burden for users of `setup-python` by not having to modify their workflow twice: once when a pre-release is available (e.g. `3.11-dev`) and once when the first stable release is published (e.g. `3.11`)
Shared libraries for the Mac python builds are not configured with the
relocatable flag, thus must always be configured with the hosted path.
Relates #459
This option allows to specify if the action shall update environment variables (default) or not.
This allows to use the setup-python action in a composite action without side effect (except downloading/installing python if version is missing).
* add support for python-version-file
* Update action.yml
* update to v4, remove python-version default
* python-version overrides python-version-file, like setup-node
* checks '.python-version' by default if nothing else specified
* update tests, update to checkout@v3
* update build
* appease the linter
* remove old test for default python version
* revert readme changes
* update build
This versioning scheme is consistent with other
tools in the python ecosystem so it feels more natural
and allows better interaction with other tools.
fixes#346
This pull-request improves `setup-python` action to add ability to download specific version of Python on flight if it is not available by default.
**Details:**
`setup-python` action will download and install specific Python version from GitHub releases ([actions/python-versions](https://github.com/actions/python-versions/releases)) in case the version is not found in the local cache. All versions of Python available for installation are published in [actions/python-versions](https://github.com/actions/python-versions) repository.
All available versions are listed in the [version-manifest.json](https://github.com/actions/python-versions/blob/master/versions-manifest.json) file.
**Installation time:**
- Ubuntu / macOS: 10-20 seconds
- Windows: ~ 1 minute (mostly related to fact that we use MSI installer for Python on Windows)
Co-authored-by: MaksimZhukov <v-mazhuk@microsoft.com>
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>