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
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