Commit Graph

853 Commits

Author SHA1 Message Date
Amin Yahyaabadi c2afe421b0
test: pass the install directory for powershell 2024-08-21 15:29:27 -07:00
Amin Yahyaabadi 20c025d4d7
fix: fix tool destination file names + automatic extract functions 2024-08-21 15:10:46 -07:00
Amin Yahyaabadi 41c74d00e3
fix: install extraction dependencies 2024-08-20 17:17:23 -07:00
Amin Yahyaabadi f1968293bc
fix: chmod the downloaded binaries in setupBin 2024-08-20 16:41:08 -07:00
Amin Yahyaabadi 555cb15f76
feat: add binary-based powershell installation 2024-08-20 16:26:14 -07:00
Amin Yahyaabadi 286daf2183
fix: overwrite and cask are mutually exclusive 2024-08-20 15:34:12 -07:00
Amin Yahyaabadi b7b6d75da7
feat: add overwrite option for brew + enabled by default
Update setupBrewPack.ts
2024-08-20 15:22:13 -07:00
Amin Yahyaabadi 8a5b753ad5
fix: install ca-certificates before downloading 2024-08-19 01:18:00 -07:00
Amin Yahyaabadi ee265991bc
fix: use node-download-helper instead of actions/http-client and curl 2024-08-18 01:53:22 -07:00
Amin Yahyaabadi a247573c5d
fix: use http client for downloading the LLVM installer 2024-08-17 09:16:20 -07:00
Amin Yahyaabadi 1a9cdb35d8
fix: use http client for downloading brew + fix brew ARM path 2024-08-16 23:21:05 -07:00
Amin Yahyaabadi d3b2f3531c
fix!: rename os-env to envosman due to npm conflict 2024-08-16 02:56:38 -07:00
Amin Yahyaabadi ad1b1ee820
refactor: refactor and add docs for setup-apt functions 2024-08-16 02:19:59 -07:00
Amin Yahyaabadi dc74686724
feat: add setup-apt package for all the apt utils 2024-08-16 01:50:32 -07:00
Amin Yahyaabadi 1704d8457d
fix: inline the options into all apt exec calls + improve errors 2024-08-16 01:19:09 -07:00
Amin Yahyaabadi 080dafd056
fix: warn on not respecting the requested apt version upon failures 2024-08-16 00:35:35 -07:00
Amin Yahyaabadi a06af07c8d
fix: add a new line before/after the guard headers 2024-08-16 00:29:37 -07:00
Amin Yahyaabadi 287549e862
fix: fix the apt exec options for piped executions 2024-08-15 23:34:15 -07:00
Amin Yahyaabadi 429d0724fa
fix: avoid needing rcFile for nala lang settings 2024-08-15 23:06:59 -07:00
Amin Yahyaabadi efbc01e1b5
fix!: rename addEnv options to be simpler 2024-08-15 17:26:17 -07:00
Amin Yahyaabadi 08cf20cc0e
fix: add js file extension for all relative imports 2024-08-15 15:22:07 -07:00
Amin Yahyaabadi 33c1974e70
fix: use default pnpm configuration 2024-08-15 15:02:03 -07:00
Amin Yahyaabadi 0b45dac798
fix: fix the rcPath for setup-cpp 2024-08-15 14:54:05 -07:00
Amin Yahyaabadi 771228c4ae
feat!: add guard and source RC options for os-env 2024-08-14 19:07:39 -07:00
Amin Yahyaabadi 77e643057d
feat: add os-env package for managing path, env, rc files 2024-08-14 18:22:33 -07:00
Amin Yahyaabadi 933c6eaf84
fix: add missing brew input to actions.yml + fix ccache input + improve description 2024-08-13 00:53:43 -07:00
Amin Yahyaabadi 315189b36f
fix: install LLVM dependencies after LLVM 2024-08-12 03:21:33 -07:00
Amin Yahyaabadi a65482651a
fix: allow parallel apt calls in the llvm installer 2024-08-12 03:10:38 -07:00
Amin Yahyaabadi a93caaa4ac
fix: wait for apt lock if it is held 2024-08-12 02:42:51 -07:00
Amin Yahyaabadi 7e559c044f
fix: fix the version check for vcpkg 2024-08-12 02:19:44 -07:00
Amin Yahyaabadi 040d33199e
fix: fix check for apt package installs 2024-08-12 02:14:08 -07:00
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