Commit Graph

107 Commits

Author SHA1 Message Date
Amin Yahyaabadi 08cf20cc0e
fix: add js file extension for all relative imports 2024-08-15 15:22:07 -07:00
Amin Yahyaabadi 33c1974e70
fix: use default pnpm configuration 2024-08-15 15:02:03 -07:00
Amin Yahyaabadi 771228c4ae
feat!: add guard and source RC options for os-env 2024-08-14 19:07:39 -07:00
Amin Yahyaabadi 77e643057d
feat: add os-env package for managing path, env, rc files 2024-08-14 18:22:33 -07:00
Amin Yahyaabadi c75a134b9c
fix: add default search paths for python on Windows 2024-08-07 14:01:14 -07:00
Amin Yahyaabadi 45a40e9d95
fix: throw an error if could not find the python binary 2024-08-07 13:59:07 -07:00
Amin Yahyaabadi 4ab758d47f
fix: add biome linter + fix the issues 2024-08-06 23:44:32 -07:00
Amin Yahyaabadi cceb0f93f2
fix: fix all the eslint issues 2024-04-09 23:58:48 -07:00
Amin Yahyaabadi 15f5776d5f lint: use dprint for formatting 2024-04-03 00:15:43 -07:00
Amin Yahyaabadi 5eefa3d4ef fix: install pipx using apt without a prefix on Linux 2024-02-14 04:16:39 -08:00
Amin Yahyaabadi 0324d60e51
test: use the correct python binary name on darwin 2024-01-24 14:20:55 -08:00
Amin Yahyaabadi d8a5d20641
fix: downgrade gcovr to 5.2 2024-01-22 02:28:55 -08:00
Amin Yahyaabadi edd2c831ed fix: remove pip caching from actions_python 2023-09-11 01:21:43 -07:00
Amin Yahyaabadi 96396ce7c5 perf: add dynamically loaded cache-dependencies for actions python
This reduces the main bundle size by ⚠️  1.28 MB minified! This bundle is loaded only when caching is enabled.

`setup-python` is used in [`setup-cpp`](https://github.com/aminya/setup-cpp) as a library. This optimization reduces the bundle size for that package as well. The build system of `setup-python` uses `ncc`, which doesn't immediately benefit from this change, but setup-cpp uses `Parcel`, which shows this huge improvement.

The reason for this huge reduction is that caching the dependencies uses the `@actions/cache` package, which is an extremely large package with big dependencies. The bundle size before this separation shows this:
![Screenshot_20230907_230625](https://github.com/actions/setup-python/assets/16418197/ec1baf34-85c3-459d-b8cf-894899959b2c)
2023-09-07 23:21:19 -07:00
Amin Yahyaabadi ff2b1155f8 fix: fix memoization for promises 2023-09-07 13:46:36 -07:00
Amin Yahyaabadi 20531c3692 fix: install venv for using pipx 2023-09-01 03:46:12 -07:00
Amin Yahyaabadi 42d3ea447e fix: add system package manager fallback for pip packages 2023-09-01 03:44:04 -07:00
Amin Yahyaabadi 0916dc5cfb fix: fix library installation via pip + fix conan 2023-09-01 03:28:05 -07:00
Amin Yahyaabadi 65c4b0f5dc fix: fix checking for pipx existence 2023-09-01 03:10:24 -07:00
Amin Yahyaabadi 512202e7f4 fix: handle upgrade/user flags for pipx 2023-09-01 03:02:09 -07:00
Amin Yahyaabadi 4e60284097 feat: install python packages using pipx to avoid conflicts with system 2023-09-01 02:49:28 -07:00
Amin Yahyaabadi 41b2cf629a feat: support installing multiple dnf packages 2023-07-16 03:12:24 -07:00
Amin Yahyaabadi 70bf67fc05 feat: install python/pip binaries for python3 2023-07-04 12:30:06 -07:00
Amin Yahyaabadi 4cbbb57e1f feat: upgrade setup-tools and refactor package installer 2023-07-04 12:29:30 -07:00
Amin Yahyaabadi b5439543fd fix: check all the python/pip binaries on the PATH 2023-06-29 13:58:48 -07:00
Amin Yahyaabadi d841abd854 fix: set the minimum python version 3.7.9 2023-06-29 13:49:06 -07:00
Amin Yahyaabadi 5ab4d6a34d fix: refactor checking for python binary 2023-06-29 13:21:36 -07:00
Amin Yahyaabadi 130062b173 fix: use min versions instead of default versions 2023-06-28 17:23:48 -07:00
Amin Yahyaabadi 201ecd0a36 feat: upgrade pip after system installation 2023-06-28 16:43:01 -07:00
Amin Yahyaabadi 43600ff17c fix: remove unused addPythonBaseExecPrefix 2023-06-28 16:20:43 -07:00
Amin Yahyaabadi 9aecf4658e fix: parallel findPython and findPip 2023-06-28 16:19:00 -07:00
Amin Yahyaabadi 76c4891c79 fix: fix setupPipSystem 2023-06-28 15:46:43 -07:00
Amin Yahyaabadi 09fad1b45b feat: use the setupDir in findPython 2023-06-28 15:44:25 -07:00
Amin Yahyaabadi f6ebfc1d77 fix: memoize addPythonBaseExecPrefix 2023-06-28 15:22:03 -07:00
Amin Yahyaabadi 08aaab1859 feat: add execPaths when installing python 2023-06-28 15:16:31 -07:00
Amin Yahyaabadi 6637fda894 feat: install pip and wheel in all cases 2023-06-28 15:10:33 -07:00
Amin Yahyaabadi 0f6b349a1e feat: more robust pip installation and upgrade 2023-06-28 14:45:15 -07:00
Amin Yahyaabadi 7039a1a602 feat: improve pip installation and detection 2023-06-27 17:10:13 -07:00
Amin Yahyaabadi 11b44434f5 fix: fix all the linting errors 2023-05-24 14:57:08 -07:00
Amin Yahyaabadi 36a5b861ce feat: fallback to version-less package on arch if not found 2023-05-24 14:12:42 -07:00
Amin Yahyaabadi 00c09d28e6 fix: update path-exists 2023-04-23 01:09:38 -07:00
Amin Yahyaabadi 7052a18b1c Merge branch 'master' into esm 2023-04-23 01:03:19 -07:00
Amin Yahyaabadi ea04bfe6af fix: replace npmcli/ci-detect with ci-info 2023-04-22 02:31:04 -07:00
Amin Yahyaabadi d713a6703d fix: update execa 2023-04-22 02:19:33 -07:00
Amin Yahyaabadi 7b993ab70d fix: update setup-python and other deps 2023-04-21 11:38:35 -07:00
Amin Yahyaabadi 477360fbee fix: rename the executable to `setup-cpp.js`
BREAKING CHANGE the executable is now `setup-cpp.js`
2023-01-17 21:40:21 -08:00
Amin Yahyaabadi dac72316df feat: parallelize the apt package installation chunks 2022-11-22 21:33:06 -08:00
Amin Yahyaabadi eea16aa8c7 fix: down-grade path-exists to v4.0.0 due to node:fs usage 2022-11-22 20:59:40 -08:00
Amin Yahyaabadi ebd90dd38d perf: parallelized checking of the file existence 2022-11-22 20:51:18 -08:00
Amin Yahyaabadi bd7b54ade4 perf: install LLVM and GCC in parallel 2022-11-08 15:51:15 -08:00