Amin Yahyaabadi
edd2c831ed
fix: remove pip caching from actions_python
2023-09-11 01:21:43 -07:00
Amin Yahyaabadi
d3a4b94794
fix: choose clang-format before other patches
2023-09-11 00:28:17 -07:00
Amin Yahyaabadi
734bc14554
feat: support only installing clang-format on Ubuntu
2023-09-10 23:58:16 -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
99191e7285
fix: async grantUserWriteAccess
2023-09-07 13:47:30 -07:00
Amin Yahyaabadi
ff2b1155f8
fix: fix memoization for promises
2023-09-07 13:46:36 -07:00
Amin Yahyaabadi
47a297a43e
fix: use pip index versions to check the existence of a package
2023-09-07 11:27:34 -07:00
Amin Yahyaabadi
af4a6f813e
fix: check for pip existence outside the try/catch loop
2023-09-07 11:04:26 -07:00
Amin Yahyaabadi
3fa4b5925a
fix: use the system package manager instead of pip for standard modules
2023-09-06 21:38:08 -07:00
Amin Yahyaabadi
678aa3361f
fix: use an info level message for reboot requirements for choco
2023-09-06 21:29:38 -07:00
Amin Yahyaabadi
6af571471a
fix: log the pip fallback error
2023-09-06 21:29:20 -07:00
Amin Yahyaabadi
ddbec096fd
fix: fix venv installation warning
2023-09-06 21:18:43 -07:00
Amin Yahyaabadi
8d969d8dbd
test: remove nala after testing it
2023-09-05 12:14:09 -07:00
Amin Yahyaabadi
aa96482204
test: mark the skipped tests in jest
2023-09-04 19:27:23 -07:00
Amin Yahyaabadi
b10559687a
test: fix the gcovr version tests
2023-09-04 19:25:56 -07:00
Amin Yahyaabadi
9303e93d38
fix: update cmake, gcovr, kcov, meson, task, doxygen, gcc
2023-09-03 17:42:40 -07:00
Amin Yahyaabadi
62674fbcdd
tests: skip some msvc installation tests based on the Windows version
2023-09-01 11:23:25 -07:00
Amin Yahyaabadi
86eecc382e
fix: default to LLVM 16 on Windows and Linux
2023-09-01 10:02:59 -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
1f59ba33f1
fix: use user flag when installing packages via pip
2023-09-01 02:36:39 -07:00
Amin Yahyaabadi
307b9178a3
fix: prevent adding /usr/bin if it is already on the PATH
2023-08-31 22:42:47 -07:00
Amin Yahyaabadi
511e70eef5
test: disable cppcheck test on Windows
2023-08-22 11:45:19 -07:00
Amin Yahyaabadi
95f86c5d8c
tests: disable cppcheck on windows
2023-08-21 23:12:00 -07:00
Amin Yahyaabadi
54cbc0f1bf
fix: fix the timeout conversion and add a custom message
2023-08-21 21:58:10 -07:00
Amin Yahyaabadi
4c53a2d376
fix: ensure constant initialization order
2023-08-21 21:41:17 -07:00
Amin Yahyaabadi
52047bd03a
fix: add timeout for the LLVM installer call
2023-08-21 20:21:34 -07:00
Amin Yahyaabadi
d7596dd449
feat: fail fast inside CI when an error happens
2023-08-21 20:16:33 -07:00
Amin Yahyaabadi
d93dc2b536
feat: add timeout for installation of the tools
2023-08-21 20:11:21 -07:00
Amin Yahyaabadi
99a4fe7118
fix: make llvm installer less verbose for non-debug
2023-08-21 19:29:23 -07:00
Amin Yahyaabadi
bc25e4e3b4
perf: memoize setupLLVMWithoutActivation
2023-07-24 15:48:38 -07:00
Amin Yahyaabadi
10c725c53f
test: remove some long-running duplicate tests for kcov/llvm
2023-07-24 15:48:23 -07:00
Amin Yahyaabadi
f0d23edbf1
fix: update dependencies
2023-07-24 13:20:13 -07:00
abeimler
9af05511cb
Merge branch 'feature/cross-mingw' of https://github.com/abeimler/setup-cpp into feature/cross-mingw
2023-07-20 12:29:20 +02:00
abeimler
f849ee113e
fix: docker mingw build (test)
2023-07-20 12:26:09 +02:00
Amin Yahyaabadi
69ae3d5dd5
fix: report errors if yay is needed but it is not installed
2023-07-20 03:12:39 -07:00
Amin Yahyaabadi
7ccf39eac3
chore: fix linting errors
2023-07-20 02:44:13 -07:00
abeimler
fb48106188
fix: mingw version
2023-07-20 00:26:55 +02:00
abeimler
5ea2c0f2ed
Merge branch 'feature/cross-mingw' of https://github.com/abeimler/setup-cpp into feature/cross-mingw
2023-07-19 23:40:18 +02:00
abeimler
a884ad83aa
Merge branch 'master' of https://github.com/abeimler/setup-cpp into feature/cross-mingw
2023-07-19 23:31:19 +02:00
Amin Yahyaabadi
5f5040c0c8
fix: handle libc++ conflicting packages for LLVM
2023-07-17 22:51:54 -07:00
Amin Yahyaabadi
2e790802d0
fix: fix conflicts between clang apt packages
2023-07-17 14:21:12 -07:00
Amin Yahyaabadi
dd2f1139ce
fix: catch the errors of setupLLVMApt correctly
2023-07-17 13:55:49 -07:00
Amin Yahyaabadi
3206aaa7c3
fix: fix passing the version number to the llvm installer
2023-07-17 13:44:34 -07:00
Amin Yahyaabadi
da1eb59304
fix: install clang-tidy and clang-format as well
2023-07-17 13:29:53 -07:00
Amin Yahyaabadi
60eecceb8a
fix: add the bin directory to the path for llvm installer
2023-07-17 11:44:40 -07:00
Amin Yahyaabadi
c3a7043921
fix: pass the llvm version to the installer
2023-07-17 11:21:11 -07:00
Amin Yahyaabadi
e7304e1143
fix: install the packages needed for the llvm installer
2023-07-17 11:01:22 -07:00
Amin Yahyaabadi
71e227aa5f
fix: fix the path for the ubuntu LLVM installer
2023-07-17 10:15:53 -07:00
Amin Yahyaabadi
b195200069
feat: support llvm 16.0.6
2023-07-16 23:52:38 -07:00
Amin Yahyaabadi
9fa897444d
fix: fix: dnf search
2023-07-16 23:42:25 -07:00
Amin Yahyaabadi
41b2cf629a
feat: support installing multiple dnf packages
2023-07-16 03:12:24 -07:00
Amin Yahyaabadi
dd9ff769c8
fix: refactor LLVM installation
2023-07-16 02:48:34 -07:00
Amin Yahyaabadi
70a091c663
feat: support installing llvm via apt on Ubuntu
2023-07-15 21:46:28 -07:00
Amin Yahyaabadi
3a3a6aeea9
fix: fix nala apt key addition
2023-07-15 18:53:44 -07:00
Amin Yahyaabadi
6326464ed5
fix: nala installation on ubuntu
2023-07-15 18:33:56 -07:00
Amin Yahyaabadi
0b443e82cc
fix: relax and coerce the found pip version
2023-07-15 16:16:34 -07:00
Amin Yahyaabadi
471b55347a
fix: add UTF-8 locale for Nala if it is not already defined
2023-07-06 12:35:54 -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
67a5cc536b
fix: do not pani on addAptKey server errors
2023-06-28 16:45:32 -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
f708497511
fix: memoize ubuntuVersion and use it everywhere
2023-06-28 16:06:31 -07:00
Amin Yahyaabadi
cfa0cc5326
feat: support ubuntu version on Ubuntu-based distros
2023-06-28 16:04:33 -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
24a5993a98
fix: handle edge-cases for default versions
2023-06-14 00:47:34 -07:00
Amin Yahyaabadi
18a5143dce
fix: make sure the tool has a default version before using it
2023-06-14 00:22:24 -07:00
Amin Yahyaabadi
775ff238d7
feat: improve default versions for non-LTS ubuntus
2023-06-14 00:15:13 -07:00
Amin Yahyaabadi
aa57ff04be
feat: use a table to print the available options in the cli [skip test]
2023-05-26 11:19:46 -07:00
Amin Yahyaabadi
a9bb29b5d1
fix: refactor main file into separate files
2023-05-24 23:52:48 -07:00
Amin Yahyaabadi
1f515ade14
fix: remove json assertion
2023-05-24 23:47:45 -07:00
Amin Yahyaabadi
23ea3efed0
fix: pass a minimal version of package.json to updater
2023-05-24 22:24:31 -07:00
Amin Yahyaabadi
5c3b317006
fix: use simple-update-notifier instead of update-notifier
2023-05-24 22:07:48 -07:00
Amin Yahyaabadi
f5342df15b
feat: check if update-notifier is installed before using it
2023-05-24 22:06:37 -07:00
Amin Yahyaabadi
e9ac0095ac
fix: fix the updateNotifier export
2023-05-24 22:06:26 -07:00
Amin Yahyaabadi
3797303356
fix: do not use fs/promises
2023-05-24 22:06:24 -07:00
Amin Yahyaabadi
6c19b13d80
fix: downgrade update-notifier to 5.1.0
2023-05-24 22:05:54 -07:00
Amin Yahyaabadi
67e7d24a8b
feat: check for the setup-cpp updates and notify
2023-05-24 22:05:44 -07:00
Amin Yahyaabadi
9c18ad87a1
fix: fix apt-cache show and use gcc 11 on Ubuntu 20
2023-05-24 18:45:01 -07:00
Amin Yahyaabadi
fbb91d5a68
fix: patch kcov for gcc 13
2023-05-24 17:04:58 -07:00
Amin Yahyaabadi
2d48e7221f
feat: support kcov 41 and default to it
2023-05-24 16:30:15 -07:00
Amin Yahyaabadi
5e5a8d08d2
fix: use apt-cache show instead of apt-get show
2023-05-24 16:23:17 -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
a0488f7712
feat: fallback to version-less package on apt if not found
2023-05-24 13:18:24 -07:00
Amin Yahyaabadi
455be30e8f
fix: use gcc 13 on ubuntu
2023-05-24 13:05:47 -07:00
Amin Yahyaabadi
4080e4c2bb
fix: fix gcc 13 on Arch linux
2023-05-24 10:49:00 -07:00
Amin Yahyaabadi
543427b047
feat: update cmake, conan, meson. task, doxygen
2023-05-23 21:44:29 -07:00
Amin Yahyaabadi
e52e9261d0
feat: default to gcc 13
2023-05-23 21:42:30 -07:00
Amin Yahyaabadi
b4b0e08b92
feat: print the supported versions when throwing errors
2023-05-23 21:19:15 -07:00
Amin Yahyaabadi
5c2a3415c5
feat: support llvm 16.0.4
2023-05-23 21:12:52 -07:00
Amin Yahyaabadi
b31d8056a6
feat: support Mingw 13
2023-05-23 21:10:03 -07:00
Amin Yahyaabadi
5959d53e9f
fix: do not set CPATH when using LLVM
2023-05-23 21:00:02 -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
8f35efa1fd
feat: support LLVM 16
2023-04-21 14:19:59 -07:00
Amin Yahyaabadi
7b993ab70d
fix: update setup-python and other deps
2023-04-21 11:38:35 -07:00
Amin Yahyaabadi
9976e18629
fix: use gcc 12 for arch linux
2023-04-21 11:20:18 -07:00
abeimler
a2d7d8fb1b
Merge branch 'master' into feature/cross-mingw
2023-04-02 01:32:43 +02:00
Amin Yahyaabadi
e31abde3c6
chore: add types for numerous and time-delta
2023-01-22 14:50:08 -08:00
Amin Yahyaabadi
3b424a372f
fix: add shabang for running setup-cpp.js
2023-01-19 14:06:43 -08: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
b0d65272c0
fix: clean up the syncVersions code
2023-01-17 21:06:23 -08:00
StevenvdSchoot
e550b921dd
Make syncVersions only sync versions of used tools
...
When syncVersions sync the versions of the provided tools, it should only change the version of a tool that has a defined version. Otherwise tools may get installed that were not meant to be installed.
In particular this solves an issue where, when an explicit version for clangtidy is specified and the compiler is gcc, we would install llvm on top of gcc.
2023-01-17 22:51:40 +01:00
Amin Yahyaabadi
4e183b6107
fix: fix bug in the Windows local PATH variable name
2023-01-15 01:48:12 -08:00
Amin Yahyaabadi
70e69b7219
fix: update conan, meson, task, doxygen, cmake
2023-01-15 01:36:10 -08:00
abeimler
43fd6604a1
feat: add mingw cross compiler
...
* add docker mingw tests
* add node16 test
2022-12-29 22:00:49 +01:00
Amin Yahyaabadi
ecd2b40e2e
chore: 0.24.1 [skip test]
2022-12-21 14:21:10 -08:00
Amin Yahyaabadi
3eac98035f
fix: retry the installation of doxygen on Windows in case of errors
2022-12-21 13:49:50 -08:00
Amin Yahyaabadi
84ecfb4b29
fix: retry tool download process in case of errors
2022-12-21 13:46:00 -08:00
Amin Yahyaabadi
a2e86325bf
fix: fix llvm 15 on Fedora/Arch
2022-12-06 22:29:32 -08:00
Amin Yahyaabadi
bd369094f9
fix: fix llvm 15 on ubuntu - add logging for extraction
2022-12-06 21:56:16 -08:00
Amin Yahyaabadi
0e9ce85be9
fix: add the missing macos/windows versions
2022-12-06 21:05:40 -08:00
Amin Yahyaabadi
79523d501b
feat: default to llvm 15
2022-12-06 20:53:02 -08:00
Amin Yahyaabadi
cd3be8a4d2
feat: support up to LLVM 15.0.6
2022-12-06 20:46:52 -08:00
Amin Yahyaabadi
757782e485
fix: parallelize initApt
2022-11-22 22:17:42 -08:00
Amin Yahyaabadi
5528c08f49
fix: parallelize apt update alternatives
2022-11-22 22:11:47 -08:00
Amin Yahyaabadi
5505d67258
fix: escape regex of the name-version apt package
2022-11-22 21:51:51 -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
b625cd0632
perf: make updateAlternatives async
2022-11-22 20:52:02 -08:00
Amin Yahyaabadi
ebd90dd38d
perf: parallelized checking of the file existence
2022-11-22 20:51:18 -08:00
Amin Yahyaabadi
9be6087e95
fix: install libtinfo5 for llvm 10 and older
2022-11-20 23:41:41 -08:00
Amin Yahyaabadi
7f6189b28f
fix: fix eslint errors [skip ci]
2022-11-20 23:34:33 -08:00
Amin Yahyaabadi
d20e347c91
feat: de-duplicate cpprc
2022-11-20 23:14:33 -08:00
Amin Yahyaabadi
70c228ecc9
fix: quote the environment variables before adding
2022-11-20 22:45:45 -08:00
Amin Yahyaabadi
66a38eb0fb
fix: fix getting the brew path on linux
2022-11-20 21:26:31 -08:00
Amin Yahyaabadi
ded42d5c2f
fix: make cpprc editable by the user
2022-11-20 21:19:18 -08:00
Amin Yahyaabadi
f9582b64f0
fix: add the brew the path on Linux
2022-11-20 20:54:17 -08:00
Amin Yahyaabadi
3ba3a1b365
fix: fix the brew installation on Linux
2022-11-20 19:58:50 -08:00
Amin Yahyaabadi
45d9ac5ca2
feat: add sccache support
2022-11-20 19:14:20 -08:00
Amin Yahyaabadi
488d899a8f
test: skip powershell installation in GitHub Actions
2022-11-20 18:44:41 -08:00