Commit Graph

776 Commits

Author SHA1 Message Date
Amin Yahyaabadi 1a3ed1a856
fix: require ~ in untildifyUser 2024-01-22 16:25:47 -08:00
Amin Yahyaabadi c85b694b1c
fix: install to the user home when using pipx as sudo 2024-01-22 14:07:36 -08:00
Amin Yahyaabadi 8a8bb46acc
fix: upgrade cmake, meson, task 2024-01-22 02:31:42 -08:00
Amin Yahyaabadi 9ac61de219
fix: upgrade doxygen to 1.10.0 2024-01-22 02:30:12 -08:00
Amin Yahyaabadi d8a5d20641
fix: downgrade gcovr to 5.2 2024-01-22 02:28:55 -08:00
Amin Yahyaabadi e05c1f4361
fix: update llvm to 17.0.6 2024-01-22 02:27:21 -08:00
Amin Yahyaabadi 47e4597aa4
test: remove .js extension for typescript files for jest 2024-01-22 02:07:57 -08:00
Amin Yahyaabadi 8b2ab43823
fix: add fs/promises compat for node 12 2024-01-22 01:54:10 -08:00
Amin Yahyaabadi 4c125e89f7
fix: update dependencies 2024-01-22 01:41:20 -08:00
Kefu Chai 3d4cc40549 fix: use higher priority when installing llvm alternatives
before this change, gcc and g++ are installed using `updateAptAlternatives()`
with the same priority of 40 when they are installed along with
ld and libstdc++ as the dependencies of clang and llvm. but both
gcc and clang are installed using the same priority of 40 on ubuntu,
and the same applies to g++ and clang++. this renders it impossible
to use the default compilers of cc and cxx when clang/llvm is installed
using setup-cpp on an ubuntu host, as gcc is always prefered over
clang by the update-alternatives, as their priorities are identical.

in this change, the "priority" parameter is added to the setupGcc(),
so that we can specify a different priority when installing llvm.
strictly speaking, this is not necessary. as we can just use a higher
priority when calling updateAptAlternatives() in llvm/llvm.ts. but by
making it more explicit, we can ensure that we always prefer llvm over
gcc when installing llvm.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2024-01-22 14:25:47 +08:00
Amin Yahyaabadi 7987f9195b fix: use llvm 17.0.4 on Windows 2023-11-14 11:38:59 -08:00
Amin Yahyaabadi b532e97a17 fix: update llvm to 17.0.5 2023-11-14 11:15:00 -08:00
Amin Yahyaabadi 0f59570d63 fix: update Conan, Meson, Task 2023-11-14 11:10:02 -08:00
Iain Chesworth ec2fe0a7d5 Add Ubuntu 22.04 specific default for LLVM 17.0.2 2023-10-21 23:37:19 +11:00
Iain Chesworth f1914d3936 Update default on Windows to 17.0.3, Linux to 17.0.2, and the "default" to 17.0.3. 2023-10-21 23:31:38 +11:00
Iain Chesworth 0af408ae6a Add support for LLVM 17 on Windows, Linux. 2023-10-21 23:18:02 +11:00
Amin Yahyaabadi 6a37ff7253 fix: fix grantUserWriteAccess for cpprc 2023-09-11 11:47:10 -07:00
Amin Yahyaabadi 4f69ae3519 feat: use grantUserWriteAccess from admina and await it 2023-09-11 11:05:16 -07:00
Amin Yahyaabadi 17286fce04 fix: specify the major version for clang-format 2023-09-11 09:09:40 -07:00
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