Commit Graph

112 Commits

Author SHA1 Message Date
Matthieu Darbois 00a5248c77
feature: add `update-environment` input (#411)
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).
2022-06-29 11:00:51 -04:00
Sergey Dolin 958897304a Exclude windows from the fix 2022-06-29 11:22:07 +02:00
Sergey Dolin 5d9fdcab75 Handle each OS in its own way 2022-06-29 11:22:07 +02:00
Sergey Dolin a8da2a66aa Use /opt/hostedtoolcache as default value AGENT_TOOLSDIRECTORY 2022-06-29 11:21:21 +02:00
IvanZosimov 01408cef88 Update cache-save.ts to support @actions/cache v3.0.0 lib
Made package.json and package-lock.json to use @actions/cache v3.0.0,
updated logic of the cache-save operation and added unit-tests
2022-06-28 15:17:50 +02:00
Kurt von Laven ffcd00020c
Allow `python-version-file` to be a relative path (#431) 2022-06-20 16:04:59 +02:00
Brian Cristante cf86e08a31
Revert "Pass the `token` input through on GHES (#427)" (#437)
This reverts commit 7e4abae443.
2022-06-16 11:08:06 -04:00
Brian Cristante 7e4abae443
Pass the `token` input through on GHES (#427)
* Pass the`token` input through on GHES

* Update the description for `token`

* Fix dist files

* Update package-lock.json

* Update README

* Fix indent level in YAML snippet

* secret names can't start with GITHUB_
2022-06-13 14:55:47 -04:00
Matthieu Darbois d09bd5e600
fix: 3.x-dev can install a 3.y version (#417)
* fix: 3.x-dev can install a 3.y version

* Update README section for `-dev`
2022-06-08 14:58:05 +02:00
Ivan f72db171ab
Made env.var pythonLocation consistent for Python and PyPy (#418)
* Change find-pypy.ts to redefine pythonLocaction environment variable

* Change README.md in order to add sentence about pythonLocation envvar

* Change sentence about pythonLocation envvar in README.md

* Rephrase the definition of pythonLocation env.var
2022-06-08 14:57:23 +02:00
Andrew DiLosa 53e15292cd
add support for python-version-file (#336)
* 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
2022-06-02 16:37:57 +02:00
Dmitry Shibanov 3f82819745
Fix output for prerelease version of poetry (#409) 2022-05-31 15:48:54 +02:00
mayeut ff706563d7
feature: add a `python-path` output
Expose a `python-path` output containing the chosen Python executable path.
2022-05-24 21:02:03 +02:00
Matthieu Darbois fff15a21cc
Use pypyX.Y for PyPy python-version input (#349)
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
2022-05-18 15:20:53 +02:00
Marko Zivic fd8f0a9fb8
Merge pull request #396 from akv-platform/v-sedoli/issue-241
Add warning if python version set to empty value
2022-05-04 15:21:43 +02:00
Marko Zivic ae11205ec6
Merge pull request #400 from akv-platform/v-sedoli/pkg-config
set PKG_CONFIG_PATH environment var
2022-05-04 09:56:28 +02:00
Sergey Dolin 8f73c1495f Formatting 2022-05-04 12:55:36 +05:00
Sergey Dolin e31727ce0a
Improve warning message
Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>
2022-05-04 12:43:58 +05:00
Brian Cristante a69041ca9f
Successfully set up (#399) 2022-05-03 08:43:53 -04:00
Sergey Dolin 5e1e05c694 set PKG_CONFIG_PATH environment var 2022-05-03 16:04:39 +05:00
Sergey Dolin 0b56b76337 Improve wording 2022-04-29 12:49:49 +05:00
Sergey Dolin ac4e858835 Add warning if python version set to empty value 2022-04-29 09:14:59 +05:00
Matthieu Darbois 1ce308808a
Create missing `pypyX.Y` symlinks (#347)
`pypyX.Y.exe` executables are missing from PyPy archives on Windows before v7.3.9 (X.Y < 3.9)
`pypy2.7` symlinks are also missing from macOS/Linux PyPy archives before v7.3.9

relates to #346
2022-04-28 09:26:17 -04:00
Dmitry Shibanov c36dc43e7b
Fix conflicts (#389) 2022-04-26 16:50:29 +02:00
Sergey Dolin bcc31375e1 Throw exe on empty python-version 2022-04-21 08:19:23 +05:00
Sergey Dolin f4b66dec00
Merge branch 'actions:main' into main 2022-04-06 12:51:31 +05:00
Alexey 21c0493ecf
Cache hit output (#373)
* Remove useless await in getCacheDistributor calls

* Added cache-hit output

* Build action with cache-hit output

* Remove PromiseReturnType, add matchedKey == primaryKey check

* Update cache-distributor.ts

* Fix tests and rebuild
2022-04-05 09:57:13 -04:00
Sergey Dolin 7933d5a3dd
Add pyton-version to setup PyPy output (#365)
* Add pyton-version to setup PyPy output

* remove new line from pypy version

* Move setOutput to findPyPyVersion

* Resolve conflict: 2
2022-04-04 13:12:56 -04:00
Shubham Tiwari 05fb98de9a
Cache on ghes (#363)
* initial changes

* updated version

* format check

* refactored code

* updated test cases

* Update src/utils.ts

Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>

* Update utils.ts

* Update utils.test.ts

* review comments

* dist update

* Review comment

* update version

* updated version

Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>
2022-03-31 15:11:27 -04:00
Patrick Arminio 6c31eb3fc7
Use `\n` instead of `os.EOL`
Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>
2022-03-30 22:41:41 +01:00
Patrick Arminio b0c8e3dab7
Remove console.log 2022-03-25 22:53:31 -05:00
Patrick Arminio 42ed863652
Parse values from poetry 2022-03-25 22:53:31 -05:00
Patrick Arminio 1259541ec8
Add tests 2022-03-25 22:53:30 -05:00
Patrick Arminio 95824fd246
Get poetry cache implementation when requested 2022-03-25 22:53:30 -05:00
Patrick Arminio 59cb3f4919
Add untest poetry cache implementation 2022-03-25 22:53:30 -05:00
Dmitry Shibanov 0ebf233433
Remove legacy PyPy input (#342) 2022-02-28 10:19:48 +03:00
Sergey Dolin 65fe6a82c7 Use template literals instead of string concatenation 2022-02-21 05:26:51 +00:00
Sergey Dolin 011c443f81 prettier 2022-02-17 19:21:13 +00:00
Sergey Dolin 3250b5373c Force RUNNER_TOOL_CACHE to be equal AGENT_TOOLSDIRECTORY 2022-02-17 18:35:19 +00:00
Dmitry Shibanov 7f80679172
Add fix for Windows caching of pip (#332) 2022-02-04 14:00:41 +03:00
Hugo van Kemenade ba33a692f1
Include Python version in pip cache key (#303) 2022-01-31 13:42:08 +03:00
Dmitry Shibanov 280924fbef
Implementation of python's caching (#266) 2021-11-17 13:31:22 +03:00
Alena Sviridenko dc73133d4d
Fix PyPy installation on Windows to adopt new parameters format (#201)
* test for pypy new version notation

* formatting

* uncommented condition

* test

* added pypy to test matrix

* test

* test

* restored all tests

* removed logs, added multiarch support for toolcache

* reduced test matrix

* removed extra condition about arch
2021-04-12 13:59:38 -04:00
Dmitry Shibanov 8c5ea631b2
Adding support for more PyPy versions and installing them on-flight (#168)
* add support to install pypy

* resolved comments, update readme, add e2e tests.

* resolve throw error

* Add pypy unit tests to cover code

* add tests

* Update test-pypy.yml

* Update test-python.yml

* Update test-python.yml

* Update README.md

* fixing tests

* change order

Co-authored-by: Maxim Lobanov <v-malob@microsoft.com>

* add pypy tests and fix issue with pypy-3-nightly

Co-authored-by: Maxim Lobanov <v-malob@microsoft.com>
2020-12-17 16:03:54 +01:00
Nikita Bykov 2831efe49a
Improve find-python to add "Scripts" folder to PATH on Windows machines (#169)
* added 'Scripts' folder to PATH on Windows

* add release code

* update index.js

* rebuild index.js

* remove duplicate block

Co-authored-by: Nikita Bykov <v-nibyko@microsoft.com>
Co-authored-by: Dmitry Shibanov <dmitry-shibanov@github.com>
2020-12-17 16:02:13 +01:00
Maxim Lobanov 3b3f2de1b1
update pypy3 to point to 3.6 (#164) 2020-12-07 16:59:14 -05:00
Peter Mescalchin 878156f1de
Inject LD_LIBRARY_PATH library path into Python manifest install and setup (#144)
* Adding LD_LIBRARY_PATH env var to both setup and install tasks

* Rebuild dist/index.js

* Fixed some typos in contributors.md Markdown
2020-10-05 14:51:21 +02:00
Nikita Bykov 0c28554988
Fix path of extracted folder for Python (#118)
* fixed path for pythonExtractedFolder

* build on node v12

* updated index.js

* removed fileName variable

Co-authored-by: Nikita Bykov <v-nibyko@microsoft.com>
2020-07-20 19:29:05 +03:00
MaksimZhukov 306c473438
Add support of pre-release Python versions (#112)
* Add support of unstable Python versions

* Update README

* Get rid of stable boolean input

* Fix typo in the test.yml

* Update README

Co-authored-by: MaksimZhukov <v-mazhuk@microsoft.com>
2020-07-17 11:58:03 +02:00
Konrad Pabjan 7a69c2bc7d
Improved logging during setup (#113)
* Improved error output during setup

* Change from debug to info for normal output

* Apply suggestions from code review

Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>

Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>
2020-07-15 19:13:43 +02:00
Maxim Lobanov 6f45e887f6
update MANIFEST_URL (#111) 2020-07-15 11:26:28 +02:00
Konrad Pabjan 4dda7a3aa1
Support for GHES (#95) 2020-05-20 15:35:09 +02:00
MaksimZhukov e5af64b2df
Use GitHub releases to download python versions (#85)
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>
2020-04-29 20:57:02 +03:00
Konrad Pabjan 8ad00a65a6
Updates to npm packages (#66)
* npm package updates

* Updates to ncc build
2020-03-09 10:16:37 +01:00
Robin Daumann f8fb48e9f7
output installed version number after setup (#51)
* output installed version number after setup

* set output for the installed version
2020-03-09 08:18:12 +01:00
Brian Cristante 11c9de6408 Update terminology in comments 2019-12-27 11:25:11 -05:00
Konrad Pabjan 28a6c1b915 Remove old parameter that is deprecated 2019-11-05 15:43:35 -05:00
Danny McCormick 24b4fa76d2
Consume toolkit from npmjs (#12) 2019-08-20 10:27:52 -04:00
Danny McCormick e336b852d5
Use python-version (#10) 2019-08-13 16:30:18 -04:00
Danny McCormick f7f8dbaddf Add matcher 2019-07-08 14:43:29 -04:00
Danny McCormick 04b8867918 Fail on error 2019-07-03 14:04:51 -04:00
Danny McCormick 39c08a0eaa Initial pass 2019-06-26 21:12:00 -04:00