Commit Graph

175 Commits

Author SHA1 Message Date
Dmitry Shibanov 65d7f2d534
Add range validation for toml files (#726) 2023-09-07 15:45:09 +02:00
Dimitri Papadopoulos Orfanos 61a6322f88
Fix typos found by codespell (#650) 2023-07-13 15:35:02 +02:00
dependabot[bot] ea5b57fccc
Bump semver from 7.3.8 to 7.5.2 (#692) 2023-07-13 15:25:58 +02:00
Dario Curreri 0d5da6a89a
Read python version from pyproject.toml (fix #542) (#669) 2023-06-28 22:02:44 +02:00
Dmitry Shibanov bd6b4b6205
Add warning for python 2.7 (#673) 2023-05-24 14:37:35 +02:00
Nikolai Laevskii a0d867bfa9 Change http-client dependency to one matching previous version 2023-05-22 11:53:31 +02:00
Nikolai Laevskii f71253fee3 Change to @action/http-client version to the one that was used in the most recent build 2023-05-22 11:02:56 +02:00
Nikolai Laevskii b51c97f6e3 Add eslint rule for disallowing implicit dependencies 2023-05-22 10:41:59 +02:00
Dmitry Shibanov 57ded4d7d5
update @azure/storage-blob (#655) 2023-04-20 14:13:16 +02:00
Dmitry Shibanov df6abcc733
update xml2js (#652) 2023-04-19 13:40:45 +02:00
Dmitry Shibanov 7a4f344e33
Add warning for empty cache paths (#642) 2023-04-06 12:02:34 +02:00
Dmitry Shibanov 03eb867e3d
Add error handling for saving and restoring cache (#618) 2023-03-10 12:15:18 +01:00
Ivan ec365b4eba
Add and configure ESLint and update configuration for Prettier (#617)
* Add ESLint, update Prettier

* Update docs

* Update tests

* Update licenses

* Fix review points
2023-03-09 12:44:56 +02:00
Evgenii Korolevskii 7b9ef6fc5a
Add another pip default dependency file for cache hash (#604) 2023-02-20 13:36:57 +01:00
Kurt McKee 869e769ec8
Trim trailing newlines from `resolvedPyPyVersion` (#610)
Fixes #609
2023-02-20 11:28:16 +01:00
Matthieu Darbois 2652534ead
feature: fallback to pre-release when no stable version is found (#414)
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`)
2023-01-27 16:19:31 -05:00
Oran Avraham 8b89ef08a0
Use correct Poetry config when collecting Poetry projects (#447)
* Use correct Poetry config when collecting Poetry projects

When collecting Poetry projects for caching, a '**/poetry.lock' glob is
used.  However, in order to process the Poetry configuration, the
"poetry" command is run from the repo's root directory; this causes
Poetry to return an invalid configuration when there is a Poetry project
inside an inner directory.

Instead of running a single Poetry command, glob for the same pattern,
and run a Poetry command for every discovered project.

* Fix typo: saveSatetSpy -> saveStateSpy

* poetry: Support same virtualenv appearing in multiple projects

* Add nested Poetry projects test

* poetry: Set up environment for each project individually

* tests/cache-restore: Do not look for dependency files outside `data`

When the default dependency path is used for cache distributors, they
are looking for the dependency file in the project's root (including the
source code), which leads to tests taking a significant amount of time,
especially on Windows runners.  We thus hit sporadic test failures.

Change the test cases such that dependency files are always searched for
inside of `__tests__/data`, ignoring the rest of the project.

* poetry: Simplify `virtualenvs.in-project` boolean check

* README: Explain that poetry might create multiple caches

* poetry: Run `poetry env use` only after cache is loaded

The virtualenv cache might contain invalid entries, such as virtualenvs
built in previous, buggy versions of this action.  The `poetry env use`
command will recreate virtualenvs in case they are invalid, but it has
to be run only *after* the cache is loaded.

Refactor `CacheDistributor` a bit such that the validation (and possible
recreation) of virtualenvs happens only after the cache is loaded.

* poetry: Bump cache primary key
2023-01-03 11:13:00 -05:00
Dmitry Shibanov 5ccb29d877
Install multiple python versions (#567) 2022-12-22 13:02:09 +01:00
Jongwoo Han 206e984b94
refactor: Use early return pattern to avoid nested conditions (#566)
* refactor: Use early return pattern

Signed-off-by: jongwooo <jongwooo.han@gmail.com>

* fix: Replace throw with warn

Signed-off-by: jongwooo <jongwooo.han@gmail.com>

Signed-off-by: jongwooo <jongwooo.han@gmail.com>
2022-12-19 14:00:46 +01:00
MaksimZhukov 2c3dd9e7e2
Add OS info to the error message (#559) 2022-12-07 18:12:42 +01:00
Dmitry Shibanov 76bbdfadd7
Update minimatch (#558) 2022-12-07 18:08:22 +01:00
Sergey Dolin 4818a5a153
Handle download HTTP error (#511) 2022-10-24 11:10:18 +02:00
Vladimir Safonkin 8bcd2560e2
Add architecture input check for PyPy for Windows platform (#520)
* Revert cache index.js

* build cache index file

* Refactor

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Debug

* Format code

* Rebuild dist

* Minor refactor

* Format code

* Minor fixes

* Check platform firstly
2022-10-18 11:01:15 +02:00
Francesco Renzi 0c4d7b878c Update @actions/core to 1.10.0 2022-10-06 12:16:00 +01:00
anthony sottile b4fe97ecda
upgrade @actions/cache so it respects SEGMENT_DOWNLOAD_TIMEOUT_MINS (#499) 2022-09-13 11:04:29 -04:00
Matthieu Darbois 434aeabbb4
Bump @actions/core from 1.7.0 to 1.9.1 (#495)
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.7.0 to 1.9.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-07 13:07:01 -04:00
ChristopherHX 98c991d13f
Only use github.token on github.com (#443)
* Only use github.token on github.com

This expression evaluates to `''` if called from GHES hosted elsewhere
You can still provide your token on both github.com and GHES

* Enshure blank result of expression and not false

* Revert "Revert "Pass the `token` input through on GHES (#427)" (#437)"

This reverts commit cf86e08a31.

* fix typo

* Add back the doc on the tool cache for self-hosted

Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>
2022-08-30 15:02:20 -04:00
Leon Wright 7e39d25e3f
refactor: Debug message for Python installation path 2022-07-26 20:40:49 +08:00
Leon Wright bc8ee42330
fix: Mac Toolpath
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
2022-07-26 19:40:29 +08:00
Leon Wright 467a981225
feat: Add 'IS_MAC' util 2022-07-26 19:38:18 +08:00
Leon Wright 9f1915a970
fix: Self-Hosted Tool Cache
This fixes the tool cache path for self-hosted runners, along
with handling AGENT_TOOLSDIRECTORY for both hosted + self-hosted.

    Fixes actions#459
2022-07-26 19:37:39 +08:00
Dmitry Shibanov 2f06e9da25
Add check-latest functionality (#406) 2022-07-25 16:54:04 +02:00
Dmitry Shibanov 49a521fa06
Fix poetry version (#445) 2022-07-25 15:02:06 +02:00
Milos Pantic 592a7a7a45
Add linux os release info to primary key (#467) 2022-07-19 14:20:19 +02:00
IvanZosimov b88a682917 Fix resolveVersionInput() logic 2022-07-15 16:52:20 +02:00
Marko Zivic 0ad0f6a0a5
Merge pull request #452 from mayeut/fix-env
Remove duplicate code introduced in #440
2022-07-06 16:11:51 +02:00
Marko Zivic 364e819741
Merge pull request #394 from akv-platform/v-sedoli/set-env-by-default
Assign default value of AGENT_TOOLSDIRECTORY if not set
2022-07-04 10:35:46 +02:00
mayeut 2c9de4ed41
Remove duplicate code introduced in #440
#440 duplicated a block of code outside of `if (updateEnvironment) {` condition. This was probably an oversight when merging `main` back on the PR branch. The tests should have seen that `core.exportVariable` was being called and should have failed.
2022-07-02 11:50:48 +02:00
IvanZosimov 099ed898be Optimize code 2022-06-30 18:42:04 +02:00
IvanZosimov ccb7da8ae9 Change warning handler to default 2022-06-30 18:28:17 +02:00
IvanZosimov 5fbb819407 Optimize logic, rebuild action 2022-06-30 17:32:12 +02:00
IvanZosimov 82eddc4023 Add warning in case the versionFile isn't found 2022-06-30 16:34:29 +02:00
IvanZosimov d97b6edda3 Fix typos 2022-06-30 16:25:46 +02:00
IvanZosimov a6b01c4e40 Rebuild action with new changes 2022-06-30 16:22:51 +02:00
IvanZosimov e29a7c89f6 Merge branch 'main' into ResolveVersionFix 2022-06-30 14:40:24 +02:00
IvanZosimov 41b91104ea Rebuild action 2022-06-30 14:26:40 +02:00
IvanZosimov 08116500d0 Rebuild action 2022-06-30 14:19:36 +02:00
IvanZosimov 161c3a68f0 Merge branch 'main' into CacheLibVersionUpdate 2022-06-30 14:18:06 +02:00
IvanZosimov 6733fc44ec Fix typo 2022-06-30 13:44:10 +02:00
IvanZosimov afd3e72a25 Fix bug in resolveVersionInput() 2022-06-30 13:38:43 +02:00
Sergey Dolin e629242ad4 Fix failed check 2022-06-30 07:56:08 +02:00
Sergey Dolin 63086c6ded rebase main 2022-06-30 07:46:53 +02:00
Sergey Dolin 69b94463f5 Add CMake hints 2022-06-30 07:43:57 +02:00
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 9c76df2a90 Build after rebase 2022-06-29 11:24:02 +02: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 7199395312 Fix dist folder 2022-06-29 11:22:06 +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
Dmitry Shibanov 397252c582
Update zeit/ncc to vercel/ncc (#393) 2022-05-31 12:56:29 +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
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 22daa094b8 Add generated files 2022-04-29 09:29:36 +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
Marko Zivic 91712e11bb
Merge pull request #338 from akv-demo/main
Force TOOLCACHE_ROOT to be equal AGENT_TOOLSDIRECTORY
2022-04-15 09:54:33 +02:00
Deepak Dahiya 98f2ad02fd
Updated @actions/cache (#382) 2022-04-11 19:06:33 +05:30
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 3e8e90edf0
dist fix (#367) 2022-04-01 12:54:05 +02: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 7aa3e95001
Update dist 2022-03-30 16:47:06 -05:00
Patrick Arminio 7a37d78806
Update dist 2022-03-30 10:07:42 -05:00
Patrick Arminio aac0ef93ba
Build and format 2022-03-25 22:54:10 -05:00
Patrick Arminio 42ed863652
Parse values from poetry 2022-03-25 22:53:31 -05:00
Patrick Arminio c275cf49c7
Release 2022-03-25 22:53:30 -05:00
Dmitry Shibanov 0ebf233433
Remove legacy PyPy input (#342) 2022-02-28 10:19:48 +03:00
Dmitry Shibanov 665cd78205
Update lockfileversion (#341) 2022-02-25 14:12:36 +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
Dmitry Shibanov dc9de69ff3
Update node-fetch from 2.6.6 to 2.6.7 (#327) 2022-02-01 14:17:23 +03:00
Hugo van Kemenade ba33a692f1
Include Python version in pip cache key (#303) 2022-01-31 13:42:08 +03:00