Template
1
0
mirror of https://github.com/aminya/setup-cpp synced 2024-11-30 21:22:30 +08:00
Commit Graph

99 Commits

Author SHA1 Message Date
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
Amin Yahyaabadi
04867b97c5 fix: use which if the pip package executable was not found 2022-11-04 19:56:07 -07:00
Amin Yahyaabadi
e376f26cd2 fix: choose the python binary directory based on the existence 2022-11-04 19:04:04 -07:00
Amin Yahyaabadi
0f4b1a6238 fix: add the python Scripts/bin path to the path for linux 2022-11-04 16:03:42 -07:00
Amin Yahyaabadi
46f6568a2e fix: add the bin directory in python base exec prefix to the PATH 2022-11-04 15:40:46 -07:00
Amin Yahyaabadi
e9be714c29 fix: refactor setupPythonAndPip function 2022-11-04 15:01:13 -07:00
Amin Yahyaabadi
623216a193 fix: handle the MacOS/Linux exec prefix paths 2022-11-04 14:53:28 -07:00
Amin Yahyaabadi
2dde08dd51 fix: add the python base_exec_prefix path for all OS 2022-11-04 13:57:52 -07:00
Amin Yahyaabadi
b9c2f3b391 chore: break the code for handling versions 2022-11-02 20:01:42 -07:00