Commit Graph

872 Commits

Author SHA1 Message Date
Amin Yahyaabadi 1818c421dc
fix: allow specifying the vcpkg version 2024-08-12 01:53:56 -07:00
Amin Yahyaabadi 41e84d833e
fix: install python3-apt before installing nala 2024-08-08 16:16:36 -07:00
Amin Yahyaabadi 5aa7099535
fix: update before checking args when requested 2024-08-08 16:08:25 -07:00
Amin Yahyaabadi a9d70080cf
fix: update if apt-cache fails + skip init deps if installed 2024-08-08 15:48:21 -07:00
Amin Yahyaabadi 9ab878fa33
fix: skip apt installation calls if package already installed 2024-08-08 15:21:23 -07:00
Amin Yahyaabadi e2c1dd3622
fix: configurable runner tool cache + disabled by default
Runner tool cache can fill up the disk space (e.g. for LLVM), so it is disabled by default
2024-08-08 15:07:45 -07:00
Amin Yahyaabadi 76b3fd37b4
fix: extract CMake packages using tar exe 2024-08-08 13:28:20 -07:00
Amin Yahyaabadi be629c9363
fix: use Doxygen 1.10 on Ubuntu 20 and older 2024-08-08 01:26:46 -07:00
Amin Yahyaabadi f767bd8819
fix: downgrade doxygen to 1.11.0 2024-08-08 00:49:41 -07:00
Amin Yahyaabadi 72b07394f9
fix: update default ninja, cmake, conan,meson, task, doxygen 2024-08-07 16:50:35 -07:00
Amin Yahyaabadi cb2000c8e4
fix: add the latest LLVM 18 URL installers 2024-08-07 16:47:22 -07:00
Amin Yahyaabadi 7d9eec942d
fix: test on Ubuntu 24.04 + add default versions for ubuntu 24 2024-08-07 16:17:38 -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 905b59672f
fix: fix nala gpg and repo urls 2024-08-07 13:16:16 -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 1d9b24d3a2 fix: use fs/promises instead of sync fs 2024-04-03 01:09:24 -07:00
Amin Yahyaabadi 183707949f fix: parallelize updating rc files 2024-04-03 00:36:48 -07:00
Amin Yahyaabadi a4e6fc40b5 fix: update bashrc even if cpprc exists already 2024-04-03 00:29:44 -07:00
Amin Yahyaabadi f1bbf95a2d fix: upstream the msvc-dev-cmd types from upstream 2024-04-03 00:19:00 -07:00
Amin Yahyaabadi 0ea92a8664 fix: fix msvc-dev-cmd types 2024-04-03 00:15:46 -07:00
Amin Yahyaabadi 15f5776d5f lint: use dprint for formatting 2024-04-03 00:15:43 -07:00
Amin Yahyaabadi 0487e80610 fix: default to LLVM 17 2024-03-31 22:39:25 -07:00
Amin Yahyaabadi c8867dae41 fix: fix linux binaries for llvm 2024-03-31 22:39:25 -07:00
Kefu Chai fd34bfcefe add LLVM 18.1.0 and 18.1.1
Fixes #228
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2024-03-31 22:39:25 -07:00
Amin Yahyaabadi ea2732fbf8
test: skip doxygen test on macos 11 + use brew 2024-02-18 23:42:50 -08:00
Amin Yahyaabadi dbfc8a80e6
fix: fix the binary path for macos doxygen binaries 2024-02-18 23:12:39 -08:00
Amin Yahyaabadi 77fbfe849b
fix: fix skipping graphviz on macos 2024-02-17 03:24:38 -08:00
Amin Yahyaabadi 36d895f6c6
fix: improve compatibility with Node 12 2024-02-17 02:01:57 -08:00
Amin Yahyaabadi 99a1254616
test: skip graphviz test on Macos 11 and older 2024-02-17 02:01:56 -08:00
Amin Yahyaabadi 32bae2b687
fix: use dynamic import for ArchiveHdi 2024-02-17 01:30:22 -08:00
Amin Yahyaabadi 8ce16c2fbc
fix: add stream/promises compat layer 2024-02-17 00:37:14 -08:00
Amin Yahyaabadi 1c7c39221b
test: fix importing @shockpkg/archive-files in jest 2024-02-17 00:31:11 -08:00
Amin Yahyaabadi c0f0580956
fix: fix shockpkg/archive-files usage for jest and windows 2024-02-16 23:36:54 -08:00
Amin Yahyaabadi 9a5a9cc5b5
fix: fix extracting dmg files 2024-02-16 23:11:59 -08:00
Amin Yahyaabadi f2828c7aeb
feat: install doxygen via official Dmg files 2024-02-16 21:47:47 -08:00
Amin Yahyaabadi 5465644a17
feat: skip graphviz installation on older MacOS
f
2024-02-16 15:15:14 -08:00
Amin Yahyaabadi 5eefa3d4ef fix: install pipx using apt without a prefix on Linux 2024-02-14 04:16:39 -08:00
Amin Yahyaabadi a486582e84
fix: do not override pipx paths if env variables are specified 2024-01-24 14:27:55 -08:00
Amin Yahyaabadi 0324d60e51
test: use the correct python binary name on darwin 2024-01-24 14:20:55 -08:00
Amin Yahyaabadi 87f57022f5
test: ignore nala-legacy installation error 2024-01-24 13:03:35 -08:00
Amin Yahyaabadi 7fba762e3e
fix: ensure existence of folders for pipx home 2024-01-24 13:02:42 -08:00
Amin Yahyaabadi cc30e9b1d5
fix: ensure existence of the pipx folders 2024-01-24 12:46:28 -08:00
Amin Yahyaabadi 5f8ace2495
fix: add pipxBinDir to PATH 2024-01-24 12:12:19 -08:00
Amin Yahyaabadi f3a5dc3f05
fix: fix PIPX_HOME on Windows and MacOS 2024-01-22 21:02:38 -08:00
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
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