mirror of https://github.com/aminya/setup-cpp
lint: use dprint for formatting
This commit is contained in:
parent
5ff0bde949
commit
15f5776d5f
|
@ -0,0 +1,71 @@
|
||||||
|
{
|
||||||
|
"[dockerfile]": {
|
||||||
|
"editor.defaultFormatter": "dprint.dprint"
|
||||||
|
},
|
||||||
|
"[javascript]": {
|
||||||
|
"editor.defaultFormatter": "dprint.dprint"
|
||||||
|
},
|
||||||
|
"[javascriptreact]": {
|
||||||
|
"editor.defaultFormatter": "dprint.dprint"
|
||||||
|
},
|
||||||
|
"[json]": {
|
||||||
|
"editor.defaultFormatter": "dprint.dprint"
|
||||||
|
},
|
||||||
|
"[jsonc]": {
|
||||||
|
"editor.defaultFormatter": "dprint.dprint"
|
||||||
|
},
|
||||||
|
"[markdown]": {
|
||||||
|
"editor.defaultFormatter": "dprint.dprint"
|
||||||
|
},
|
||||||
|
"[typescript]": {
|
||||||
|
"editor.defaultFormatter": "dprint.dprint"
|
||||||
|
},
|
||||||
|
"[typescriptreact]": {
|
||||||
|
"editor.defaultFormatter": "dprint.dprint"
|
||||||
|
},
|
||||||
|
"[yaml]": {
|
||||||
|
"editor.defaultFormatter": "dprint.dprint"
|
||||||
|
},
|
||||||
|
"cSpell.advanced.feature.useReferenceProviderWithRename": true,
|
||||||
|
"cSpell.checkOnlyEnabledFileTypes": false,
|
||||||
|
"cSpell.numSuggestions": 3,
|
||||||
|
"cSpell.showAutocompleteSuggestions": true,
|
||||||
|
"eslint.enable": true,
|
||||||
|
"eslint.options": {
|
||||||
|
"cache": true,
|
||||||
|
"cacheLocation": "./node_modules/.cache/eslint/",
|
||||||
|
"errorOnUnmatchedPattern": false,
|
||||||
|
"extensions": [
|
||||||
|
"ts",
|
||||||
|
"tsx",
|
||||||
|
"js",
|
||||||
|
"jsx",
|
||||||
|
"cjs",
|
||||||
|
"mjs",
|
||||||
|
"json",
|
||||||
|
"yaml",
|
||||||
|
"astro",
|
||||||
|
"mdx",
|
||||||
|
"html"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"eslint.probe": [
|
||||||
|
"typescript",
|
||||||
|
"typescriptreact",
|
||||||
|
"javascript",
|
||||||
|
"javascriptreact",
|
||||||
|
"json",
|
||||||
|
"jsonc",
|
||||||
|
"yaml",
|
||||||
|
"markdown",
|
||||||
|
"html",
|
||||||
|
"astro"
|
||||||
|
],
|
||||||
|
"explorer.copyRelativePathSeparator": "/",
|
||||||
|
"files.eol": "\n",
|
||||||
|
"files.insertFinalNewline": true,
|
||||||
|
"files.trimFinalNewlines": true,
|
||||||
|
"hadolint.hadolintPath": "./target/bin/hadolint",
|
||||||
|
// use dprint instead
|
||||||
|
"prettier.enable": false
|
||||||
|
}
|
|
@ -33,6 +33,7 @@ words:
|
||||||
- dearmor
|
- dearmor
|
||||||
- deps
|
- deps
|
||||||
- devel
|
- devel
|
||||||
|
- dprint
|
||||||
- DVCPKG
|
- DVCPKG
|
||||||
- dyld
|
- dyld
|
||||||
- eabi
|
- eabi
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
## base image
|
## base image
|
||||||
FROM archlinux:base as setup-cpp-arch
|
FROM archlinux:base AS setup-cpp-arch
|
||||||
|
|
||||||
COPY "./dist/legacy" "/usr/lib/setup-cpp/"
|
COPY "./dist/legacy" "/usr/lib/setup-cpp/"
|
||||||
|
|
||||||
|
@ -7,7 +7,6 @@ RUN pacman -Syuu --noconfirm && \
|
||||||
pacman-db-upgrade && \
|
pacman-db-upgrade && \
|
||||||
# install nodejs
|
# install nodejs
|
||||||
pacman -S --noconfirm --needed nodejs npm && \
|
pacman -S --noconfirm --needed nodejs npm && \
|
||||||
|
|
||||||
# install the compiler and tools
|
# install the compiler and tools
|
||||||
node /usr/lib/setup-cpp/setup-cpp.js \
|
node /usr/lib/setup-cpp/setup-cpp.js \
|
||||||
--compiler llvm \
|
--compiler llvm \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
## base image
|
## base image
|
||||||
FROM archlinux:base as setup-cpp-arch-mingw
|
FROM archlinux:base AS setup-cpp-arch-mingw
|
||||||
|
|
||||||
COPY "./dist/legacy" "/usr/lib/setup-cpp/"
|
COPY "./dist/legacy" "/usr/lib/setup-cpp/"
|
||||||
|
|
||||||
|
@ -7,7 +7,6 @@ RUN pacman -Syuu --noconfirm && \
|
||||||
pacman-db-upgrade && \
|
pacman-db-upgrade && \
|
||||||
# install nodejs
|
# install nodejs
|
||||||
pacman -S --noconfirm --needed nodejs npm && \
|
pacman -S --noconfirm --needed nodejs npm && \
|
||||||
|
|
||||||
# install the compiler and tools
|
# install the compiler and tools
|
||||||
node /usr/lib/setup-cpp/setup-cpp.js \
|
node /usr/lib/setup-cpp/setup-cpp.js \
|
||||||
--compiler mingw \
|
--compiler mingw \
|
||||||
|
|
|
@ -10,7 +10,7 @@ async function main() {
|
||||||
.replace(/FROM (.*)/g, `FROM $1\n\nCOPY "./dist/legacy" "/usr/lib/setup-cpp/"`)
|
.replace(/FROM (.*)/g, `FROM $1\n\nCOPY "./dist/legacy" "/usr/lib/setup-cpp/"`)
|
||||||
.replace("setup-cpp ", "node /usr/lib/setup-cpp/setup-cpp.js ")
|
.replace("setup-cpp ", "node /usr/lib/setup-cpp/setup-cpp.js ")
|
||||||
// remove the npm install line
|
// remove the npm install line
|
||||||
.replace(/# install setup-cpp\n\s*npm install -g setup-cpp.*/, "")
|
.replace(/# install setup-cpp\n\s*npm install -g setup-cpp.*\n/, "")
|
||||||
|
|
||||||
// write the new file in dev/docker/ci
|
// write the new file in dev/docker/ci
|
||||||
await writeFile(`./dev/docker/ci/${name}.dockerfile`, modifiedDockerFile)
|
await writeFile(`./dev/docker/ci/${name}.dockerfile`, modifiedDockerFile)
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
## base image
|
## base image
|
||||||
FROM fedora:40 as setup-cpp-fedora
|
FROM fedora:40 AS setup-cpp-fedora
|
||||||
|
|
||||||
COPY "./dist/legacy" "/usr/lib/setup-cpp/"
|
COPY "./dist/legacy" "/usr/lib/setup-cpp/"
|
||||||
|
|
||||||
# install nodejs
|
# install nodejs
|
||||||
RUN dnf -y install nodejs npm && \
|
RUN dnf -y install nodejs npm && \
|
||||||
|
|
||||||
# install the compiler and tools
|
# install the compiler and tools
|
||||||
node /usr/lib/setup-cpp/setup-cpp.js \
|
node /usr/lib/setup-cpp/setup-cpp.js \
|
||||||
--compiler llvm \
|
--compiler llvm \
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
## base image
|
## base image
|
||||||
FROM fedora:40 as setup-cpp-fedora-mingw
|
FROM fedora:40 AS setup-cpp-fedora-mingw
|
||||||
|
|
||||||
COPY "./dist/legacy" "/usr/lib/setup-cpp/"
|
COPY "./dist/legacy" "/usr/lib/setup-cpp/"
|
||||||
|
|
||||||
# install nodejs
|
# install nodejs
|
||||||
RUN dnf -y install nodejs npm && \
|
RUN dnf -y install nodejs npm && \
|
||||||
|
|
||||||
# install the compiler and tools
|
# install the compiler and tools
|
||||||
node /usr/lib/setup-cpp/setup-cpp.js \
|
node /usr/lib/setup-cpp/setup-cpp.js \
|
||||||
--compiler mingw \
|
--compiler mingw \
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
#### Base Image
|
#### Base Image
|
||||||
FROM ubuntu:22.04 as setup-cpp-ubuntu
|
FROM ubuntu:22.04 AS setup-cpp-ubuntu
|
||||||
|
|
||||||
COPY "./dist/legacy" "/usr/lib/setup-cpp/"
|
COPY "./dist/legacy" "/usr/lib/setup-cpp/"
|
||||||
|
|
||||||
RUN apt-get update -qq && \
|
RUN apt-get update -qq && \
|
||||||
# install nodejs
|
# install nodejs
|
||||||
apt-get install -y --no-install-recommends nodejs npm && \
|
apt-get install -y --no-install-recommends nodejs npm && \
|
||||||
|
|
||||||
# install the compiler and tools
|
# install the compiler and tools
|
||||||
node /usr/lib/setup-cpp/setup-cpp.js \
|
node /usr/lib/setup-cpp/setup-cpp.js \
|
||||||
--nala true \
|
--nala true \
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
#### Base Image
|
#### Base Image
|
||||||
FROM ubuntu:22.04 as setup-cpp-ubuntu-mingw
|
FROM ubuntu:22.04 AS setup-cpp-ubuntu-mingw
|
||||||
|
|
||||||
COPY "./dist/legacy" "/usr/lib/setup-cpp/"
|
COPY "./dist/legacy" "/usr/lib/setup-cpp/"
|
||||||
|
|
||||||
RUN apt-get update -qq && \
|
RUN apt-get update -qq && \
|
||||||
# install nodejs
|
# install nodejs
|
||||||
apt-get install -y --no-install-recommends nodejs npm && \
|
apt-get install -y --no-install-recommends nodejs npm && \
|
||||||
|
|
||||||
# install the compiler and tools
|
# install the compiler and tools
|
||||||
node /usr/lib/setup-cpp/setup-cpp.js \
|
node /usr/lib/setup-cpp/setup-cpp.js \
|
||||||
--nala true \
|
--nala true \
|
||||||
|
|
|
@ -8,7 +8,7 @@ RUN bash -c 'source ~/.cpprc \
|
||||||
|
|
||||||
#### Running environment
|
#### Running environment
|
||||||
# use a fresh image as the runner
|
# use a fresh image as the runner
|
||||||
FROM archlinux:base as runner
|
FROM archlinux:base AS runner
|
||||||
|
|
||||||
# copy the built binaries and their runtime dependencies
|
# copy the built binaries and their runtime dependencies
|
||||||
COPY --from=builder /home/app/build/my_exe/Release/ /home/app/
|
COPY --from=builder /home/app/build/my_exe/Release/ /home/app/
|
||||||
|
|
|
@ -8,7 +8,7 @@ RUN bash -c 'source ~/.cpprc \
|
||||||
|
|
||||||
#### Running environment
|
#### Running environment
|
||||||
# use a fresh image as the runner
|
# use a fresh image as the runner
|
||||||
FROM fedora:40 as runner
|
FROM fedora:40 AS runner
|
||||||
|
|
||||||
# copy the built binaries and their runtime dependencies
|
# copy the built binaries and their runtime dependencies
|
||||||
COPY --from=builder /home/app/build/my_exe/Release/ /home/app/
|
COPY --from=builder /home/app/build/my_exe/Release/ /home/app/
|
||||||
|
|
|
@ -8,7 +8,7 @@ RUN bash -c 'source ~/.cpprc \
|
||||||
|
|
||||||
#### Running environment
|
#### Running environment
|
||||||
# use a fresh image as the runner
|
# use a fresh image as the runner
|
||||||
FROM ubuntu:22.04 as runner
|
FROM ubuntu:22.04 AS runner
|
||||||
|
|
||||||
# copy the built binaries and their runtime dependencies
|
# copy the built binaries and their runtime dependencies
|
||||||
COPY --from=builder /home/app/build/my_exe/Release/ /home/app/
|
COPY --from=builder /home/app/build/my_exe/Release/ /home/app/
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
## base image
|
## base image
|
||||||
FROM archlinux:base as setup-cpp-arch
|
FROM archlinux:base AS setup-cpp-arch
|
||||||
|
|
||||||
RUN pacman -Syuu --noconfirm && \
|
RUN pacman -Syuu --noconfirm && \
|
||||||
pacman-db-upgrade && \
|
pacman-db-upgrade && \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
## base image
|
## base image
|
||||||
FROM archlinux:base as setup-cpp-arch-mingw
|
FROM archlinux:base AS setup-cpp-arch-mingw
|
||||||
|
|
||||||
RUN pacman -Syuu --noconfirm && \
|
RUN pacman -Syuu --noconfirm && \
|
||||||
pacman-db-upgrade && \
|
pacman-db-upgrade && \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
## base image
|
## base image
|
||||||
FROM fedora:40 as setup-cpp-fedora
|
FROM fedora:40 AS setup-cpp-fedora
|
||||||
|
|
||||||
# install nodejs
|
# install nodejs
|
||||||
RUN dnf -y install nodejs npm && \
|
RUN dnf -y install nodejs npm && \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
## base image
|
## base image
|
||||||
FROM fedora:40 as setup-cpp-fedora-mingw
|
FROM fedora:40 AS setup-cpp-fedora-mingw
|
||||||
|
|
||||||
# install nodejs
|
# install nodejs
|
||||||
RUN dnf -y install nodejs npm && \
|
RUN dnf -y install nodejs npm && \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#### Base Image
|
#### Base Image
|
||||||
FROM ubuntu:20.04 as setup-cpp-ubuntu-mingw
|
FROM ubuntu:20.04 AS setup-cpp-ubuntu-mingw
|
||||||
|
|
||||||
RUN apt-get update -qq && \
|
RUN apt-get update -qq && \
|
||||||
# install latest nodejs on ubuntu 20.04
|
# install latest nodejs on ubuntu 20.04
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#### Base Image
|
#### Base Image
|
||||||
FROM ubuntu:22.04 as setup-cpp-ubuntu
|
FROM ubuntu:22.04 AS setup-cpp-ubuntu
|
||||||
|
|
||||||
RUN apt-get update -qq && \
|
RUN apt-get update -qq && \
|
||||||
# install nodejs
|
# install nodejs
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#### Base Image
|
#### Base Image
|
||||||
FROM ubuntu:22.04 as setup-cpp-ubuntu-mingw
|
FROM ubuntu:22.04 AS setup-cpp-ubuntu-mingw
|
||||||
|
|
||||||
RUN apt-get update -qq && \
|
RUN apt-get update -qq && \
|
||||||
# install nodejs
|
# install nodejs
|
||||||
|
|
|
@ -35,7 +35,7 @@ function main() {
|
||||||
"--",
|
"--",
|
||||||
`{{caxa}}/node_modules/.bin/node${exe}`,
|
`{{caxa}}/node_modules/.bin/node${exe}`,
|
||||||
`{{caxa}}/setup-cpp.js`,
|
`{{caxa}}/setup-cpp.js`,
|
||||||
]),
|
])
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
{
|
||||||
|
"lineWidth": 120,
|
||||||
|
"indentWidth": 2,
|
||||||
|
"newLineKind": "lf",
|
||||||
|
"useTabs": false,
|
||||||
|
"incremental": true,
|
||||||
|
"typescript": {
|
||||||
|
"semiColons": "asi",
|
||||||
|
"quoteProps": "asNeeded",
|
||||||
|
"useBraces": "always"
|
||||||
|
},
|
||||||
|
"json": {},
|
||||||
|
"markdown": {},
|
||||||
|
"dockerfile": {},
|
||||||
|
"exec": {
|
||||||
|
"commands": [
|
||||||
|
{
|
||||||
|
"command": "node ./node_modules/prettier/bin/prettier.cjs --stdin-filepath {{file_path}} --tab-width {{indent_width}} --print-width {{line_width}}",
|
||||||
|
"exts": ["yaml", "yml"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"associations": [
|
||||||
|
"**/*{.yaml,.yml}"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"includes": [
|
||||||
|
"**/*{.ts,.tsx,.mts,.cts,.js,.jsx,.cjs,.mjs,.json,.md,.yaml,.yml,.dockerfile}"
|
||||||
|
],
|
||||||
|
"excludes": [
|
||||||
|
"**/node_modules",
|
||||||
|
"*.lock*",
|
||||||
|
"*-lock*",
|
||||||
|
"./.cache/",
|
||||||
|
"**/build",
|
||||||
|
"**/dist",
|
||||||
|
"dev/cpp_vcpkg_project"
|
||||||
|
],
|
||||||
|
"plugins": [
|
||||||
|
"https://plugins.dprint.dev/typescript-0.89.3.wasm",
|
||||||
|
"https://plugins.dprint.dev/json-0.19.2.wasm",
|
||||||
|
"https://plugins.dprint.dev/markdown-0.16.4.wasm",
|
||||||
|
"https://plugins.dprint.dev/dockerfile-0.3.0.wasm",
|
||||||
|
"https://plugins.dprint.dev/exec-0.4.4.json@c207bf9b9a4ee1f0ecb75c594f774924baf62e8e53a2ce9d873816a408cecbf7"
|
||||||
|
],
|
||||||
|
"$schema": "https://dprint.dev/schemas/v0.json"
|
||||||
|
}
|
36
package.json
36
package.json
|
@ -39,11 +39,11 @@
|
||||||
"copy.matchers.modern": "shx cp ./src/gcc/gcc_matcher.json ./dist/modern/ && shx cp ./src/msvc/msvc_matcher.json ./dist/modern/ && shx cp ./src/python/python_matcher.json ./dist/modern/ && shx cp ./src/llvm/llvm_matcher.json ./dist/modern/",
|
"copy.matchers.modern": "shx cp ./src/gcc/gcc_matcher.json ./dist/modern/ && shx cp ./src/msvc/msvc_matcher.json ./dist/modern/ && shx cp ./src/python/python_matcher.json ./dist/modern/ && shx cp ./src/llvm/llvm_matcher.json ./dist/modern/",
|
||||||
"dev": "cross-env NODE_ENV=development parcel watch",
|
"dev": "cross-env NODE_ENV=development parcel watch",
|
||||||
"docs": "shx rm -rf packages/*/README.md && pnpm -r exec readme --path ../../dev/readme/template.md -y && pnpm -r exec ts-readme",
|
"docs": "shx rm -rf packages/*/README.md && pnpm -r exec readme --path ../../dev/readme/template.md -y && pnpm -r exec ts-readme",
|
||||||
"format": "run-s lint.prettier",
|
"format": "run-s lint.dprint",
|
||||||
"lint": "run-p --aggregate-output --continue-on-error lint.cspell lint.eslint lint.prettier lint.tsc",
|
"lint": "run-p --aggregate-output --continue-on-error lint.cspell lint.eslint lint.dprint lint.tsc",
|
||||||
"lint.cspell": "cspell lint --no-progress --show-suggestions --cache --cache-location ./.cache/cspell/.cspellcache",
|
"lint.cspell": "cspell lint --no-progress --show-suggestions --cache --cache-location ./.cache/cspell/.cspellcache",
|
||||||
"lint.eslint": "eslint **/*.{ts,tsx,js,jsx,cjs,mjs,json,yaml} --no-error-on-unmatched-pattern --cache --cache-location ./.cache/eslint/ --fix",
|
"lint.eslint": "eslint **/*.{ts,tsx,js,jsx,cjs,mjs,json,yaml} --no-error-on-unmatched-pattern --cache --cache-location ./.cache/eslint/ --fix",
|
||||||
"lint.prettier": "prettier --list-different --write .",
|
"lint.dprint": "dprint fmt",
|
||||||
"lint.tsc": "tsc --noEmit",
|
"lint.tsc": "tsc --noEmit",
|
||||||
"pack.exe": "shx rm -rf ./dist/tsconfig.tsbuildinfo && node ./dev/scripts/pack-exe.mjs",
|
"pack.exe": "shx rm -rf ./dist/tsconfig.tsbuildinfo && node ./dev/scripts/pack-exe.mjs",
|
||||||
"prepublishOnly": "rm ./dist/tsconfig.tsbuildinfo",
|
"prepublishOnly": "rm ./dist/tsconfig.tsbuildinfo",
|
||||||
|
@ -51,28 +51,25 @@
|
||||||
"start.docker.arch": "docker run -t setup-cpp:arch .",
|
"start.docker.arch": "docker run -t setup-cpp:arch .",
|
||||||
"start.docker.fedora": "docker run -t setup-cpp:fedora .",
|
"start.docker.fedora": "docker run -t setup-cpp:fedora .",
|
||||||
"start.docker.ubuntu": "docker run -t setup-cpp:ubuntu .",
|
"start.docker.ubuntu": "docker run -t setup-cpp:ubuntu .",
|
||||||
"test.lint": "run-p --aggregate-output --continue-on-error lint.cspell test.lint.eslint test.lint.prettier lint.tsc",
|
"test.lint": "run-p --aggregate-output --continue-on-error lint.cspell test.lint.eslint test.lint.dprint lint.tsc",
|
||||||
"test.lint.eslint": "eslint **/*.{ts,tsx,js,jsx,cjs,mjs,json,yaml} --no-error-on-unmatched-pattern --cache --cache-location ./.cache/eslint/",
|
"test.lint.eslint": "eslint **/*.{ts,tsx,js,jsx,cjs,mjs,json,yaml} --no-error-on-unmatched-pattern --cache --cache-location ./.cache/eslint/",
|
||||||
"test.lint.prettier": "prettier . --check",
|
"test.lint.dprint": "dprint check",
|
||||||
"test": "jest --runInBand --forceExit --coverage",
|
"test": "jest --runInBand --forceExit --coverage",
|
||||||
"build.docker-ci": "node ./dev/docker/ci/docker-ci.mjs"
|
"build.docker-ci": "node ./dev/docker/ci/docker-ci.mjs"
|
||||||
},
|
},
|
||||||
"prettier": "prettier-config-atomic",
|
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@actions/core": "^1.10.1",
|
"@actions/core": "^1.10.1",
|
||||||
"@actions/exec": "^1.1.1",
|
"@actions/exec": "^1.1.1",
|
||||||
"@actions/io": "^1.1.3",
|
"@actions/io": "^1.1.3",
|
||||||
"@actions/tool-cache": "^2.0.1",
|
"@actions/tool-cache": "^2.0.1",
|
||||||
"@babel/cli": "^7.23.9",
|
"@babel/cli": "^7.24.1",
|
||||||
"@shockpkg/archive-files": "https://github.com/aminya/archive-files#54ec59fad46aca736ac6feb6c7bb526528141b9d",
|
"@shockpkg/archive-files": "github:aminya/archive-files#54ec59fad46aca736ac6feb6c7bb526528141b9d",
|
||||||
"@swc/jest": "^0.2.36",
|
"@swc/jest": "^0.2.36",
|
||||||
"@types/cross-spawn": "^6.0.6",
|
"@types/cross-spawn": "^6.0.6",
|
||||||
"@types/eslint": "^8.56.2",
|
"@types/eslint": "^8.56.6",
|
||||||
"@types/jest": "^29.5.12",
|
"@types/jest": "^29.5.12",
|
||||||
"@types/mri": "^1.1.5",
|
"@types/node": "^12.20.55",
|
||||||
"@types/node": "^12",
|
"@types/semver": "^7.5.8",
|
||||||
"@types/prettier": "2.7.3",
|
|
||||||
"@types/semver": "^7.5.7",
|
|
||||||
"@types/which": "^3.0.3",
|
"@types/which": "^3.0.3",
|
||||||
"@upleveled/babel-plugin-remove-node-prefix": "github:aminya/babel-plugin-remove-node-prefix#95fcbd92405b99a6eece48c493548996f12e6519",
|
"@upleveled/babel-plugin-remove-node-prefix": "github:aminya/babel-plugin-remove-node-prefix#95fcbd92405b99a6eece48c493548996f12e6519",
|
||||||
"admina": "^1.0.1",
|
"admina": "^1.0.1",
|
||||||
|
@ -81,12 +78,13 @@
|
||||||
"ci-log": "workspace:*",
|
"ci-log": "workspace:*",
|
||||||
"cross-env": "7.0.3",
|
"cross-env": "7.0.3",
|
||||||
"cross-spawn": "^7.0.3",
|
"cross-spawn": "^7.0.3",
|
||||||
"cspell": "^8.3.2",
|
"cspell": "^8.6.1",
|
||||||
|
"dprint": "^0.45.0",
|
||||||
"escape-path-with-spaces": "^1.0.2",
|
"escape-path-with-spaces": "^1.0.2",
|
||||||
"escape-quotes": "^1.0.2",
|
"escape-quotes": "^1.0.2",
|
||||||
"escape-string-regexp": "^5.0.0",
|
"escape-string-regexp": "^5.0.0",
|
||||||
"eslint": "^8.56.0",
|
"eslint": "^8.57.0",
|
||||||
"eslint-config-atomic": "^1.20.6",
|
"eslint-config-atomic": "^1.21.2",
|
||||||
"exec-powershell": "workspace:*",
|
"exec-powershell": "workspace:*",
|
||||||
"execa": "^7.2.0",
|
"execa": "^7.2.0",
|
||||||
"is-url-online": "^1.5.0",
|
"is-url-online": "^1.5.0",
|
||||||
|
@ -96,11 +94,11 @@
|
||||||
"mkdirp": "^3.0.1",
|
"mkdirp": "^3.0.1",
|
||||||
"mri": "^1.2.0",
|
"mri": "^1.2.0",
|
||||||
"msvc-dev-cmd": "github:aminya/msvc-dev-cmd#97843d525947e3f3776ee359b597316909754c4d",
|
"msvc-dev-cmd": "github:aminya/msvc-dev-cmd#97843d525947e3f3776ee359b597316909754c4d",
|
||||||
"npm-check-updates": "^16.14.15",
|
"npm-check-updates": "^16.14.18",
|
||||||
"npm-run-all2": "^6.1.2",
|
"npm-run-all2": "^6.1.2",
|
||||||
"numerous": "1.0.3",
|
"numerous": "1.0.3",
|
||||||
"p-timeout": "^6.1.2",
|
"p-timeout": "^6.1.2",
|
||||||
"parcel": "2.11.0",
|
"parcel": "2.12.0",
|
||||||
"path-exists": "^5.0.0",
|
"path-exists": "^5.0.0",
|
||||||
"patha": "^0.4.1",
|
"patha": "^0.4.1",
|
||||||
"prettier": "3.2.2",
|
"prettier": "3.2.2",
|
||||||
|
@ -115,7 +113,7 @@
|
||||||
"time-delta": "github:aminya/time-delta#69d91a41cef28e569be9a2991129f5f7d1f0d00e",
|
"time-delta": "github:aminya/time-delta#69d91a41cef28e569be9a2991129f5f7d1f0d00e",
|
||||||
"ts-node": "^10.9.2",
|
"ts-node": "^10.9.2",
|
||||||
"ts-readme": "^1.1.3",
|
"ts-readme": "^1.1.3",
|
||||||
"typescript": "^5.3.3",
|
"typescript": "^5.4.3",
|
||||||
"ubuntu-version": "^2.0.0",
|
"ubuntu-version": "^2.0.0",
|
||||||
"untildify-user": "workspace:*",
|
"untildify-user": "workspace:*",
|
||||||
"which": "^4.0.0"
|
"which": "^4.0.0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { join } from "path"
|
|
||||||
import { isSudo } from "admina"
|
import { isSudo } from "admina"
|
||||||
import { homedir } from "os"
|
import { homedir } from "os"
|
||||||
|
import { join } from "path"
|
||||||
|
|
||||||
export function userHomeDir() {
|
export function userHomeDir() {
|
||||||
if (isSudo() && typeof process.env.SUDO_USER === "string" && process.env.SUDO_USER !== "") {
|
if (isSudo() && typeof process.env.SUDO_USER === "string" && process.env.SUDO_USER !== "") {
|
||||||
|
|
1975
pnpm-lock.yaml
1975
pnpm-lock.yaml
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,2 @@
|
||||||
|
import config from "prettier-config-atomic"
|
||||||
|
export default config
|
|
@ -1,8 +1,8 @@
|
||||||
import { syncVersions, getVersion } from "../versions/versions"
|
|
||||||
import { parseArgs } from "../cli-options"
|
import { parseArgs } from "../cli-options"
|
||||||
import { getCompilerInfo } from "../compilers"
|
import { getCompilerInfo } from "../compilers"
|
||||||
import { Inputs } from "../tool"
|
import { Inputs } from "../tool"
|
||||||
import { DefaultLinuxVersion } from "../versions/default_versions"
|
import { DefaultLinuxVersion } from "../versions/default_versions"
|
||||||
|
import { getVersion, syncVersions } from "../versions/versions"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("getCompilerInfo", () => {
|
describe("getCompilerInfo", () => {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { setupBazel } from "../bazel"
|
|
||||||
import { testBin } from "../../utils/tests/test-helpers"
|
|
||||||
import { InstallationInfo } from "../../utils/setup/setupBin"
|
import { InstallationInfo } from "../../utils/setup/setupBin"
|
||||||
|
import { testBin } from "../../utils/tests/test-helpers"
|
||||||
|
import { setupBazel } from "../bazel"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-bazel", () => {
|
describe("setup-bazel", () => {
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
|
import { execRootSync } from "admina"
|
||||||
|
import { hasDnf } from "../utils/env/hasDnf"
|
||||||
|
import { isArch } from "../utils/env/isArch"
|
||||||
|
import { isUbuntu } from "../utils/env/isUbuntu"
|
||||||
import { addAptKeyViaDownload, setupAptPack } from "../utils/setup/setupAptPack"
|
import { addAptKeyViaDownload, setupAptPack } from "../utils/setup/setupAptPack"
|
||||||
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
||||||
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
||||||
import { isArch } from "../utils/env/isArch"
|
|
||||||
import { hasDnf } from "../utils/env/hasDnf"
|
|
||||||
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
||||||
import { isUbuntu } from "../utils/env/isUbuntu"
|
|
||||||
import { execRootSync } from "admina"
|
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
export async function setupBazel(version: string, _setupDir: string, _arch: string) {
|
export async function setupBazel(version: string, _setupDir: string, _arch: string) {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { setupBrew } from "../brew"
|
|
||||||
import { testBin } from "../../utils/tests/test-helpers"
|
import { testBin } from "../../utils/tests/test-helpers"
|
||||||
|
import { setupBrew } from "../brew"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-brew", () => {
|
describe("setup-brew", () => {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
|
import { mkdirP } from "@actions/io"
|
||||||
import { execaSync } from "execa"
|
import { execaSync } from "execa"
|
||||||
import { dirname } from "patha"
|
import { readFileSync } from "fs"
|
||||||
import which from "which"
|
|
||||||
import { tmpdir } from "os"
|
import { tmpdir } from "os"
|
||||||
import path, { join } from "path"
|
import path, { join } from "path"
|
||||||
import { mkdirP } from "@actions/io"
|
import { dirname } from "patha"
|
||||||
import { readFileSync } from "fs"
|
import which from "which"
|
||||||
import { addPath } from "../utils/env/addEnv"
|
import { addPath } from "../utils/env/addEnv"
|
||||||
|
|
||||||
/* eslint-disable require-atomic-updates */
|
/* eslint-disable require-atomic-updates */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { setupCcache } from "../ccache"
|
|
||||||
import { testBin } from "../../utils/tests/test-helpers"
|
|
||||||
import { InstallationInfo } from "../../utils/setup/setupBin"
|
import { InstallationInfo } from "../../utils/setup/setupBin"
|
||||||
|
import { testBin } from "../../utils/tests/test-helpers"
|
||||||
|
import { setupCcache } from "../ccache"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-ccache", () => {
|
describe("setup-ccache", () => {
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
|
import { hasDnf } from "../utils/env/hasDnf"
|
||||||
|
import { isArch } from "../utils/env/isArch"
|
||||||
|
import { isUbuntu } from "../utils/env/isUbuntu"
|
||||||
import { setupAptPack } from "../utils/setup/setupAptPack"
|
import { setupAptPack } from "../utils/setup/setupAptPack"
|
||||||
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
|
||||||
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
||||||
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
||||||
import { isArch } from "../utils/env/isArch"
|
|
||||||
import { hasDnf } from "../utils/env/hasDnf"
|
|
||||||
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
||||||
import { isUbuntu } from "../utils/env/isUbuntu"
|
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
export function setupCcache(version: string, _setupDir: string, _arch: string) {
|
export function setupCcache(version: string, _setupDir: string, _arch: string) {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { getInput } from "@actions/core"
|
import { getInput } from "@actions/core"
|
||||||
import { info } from "ci-log"
|
import { info } from "ci-log"
|
||||||
import mri from "mri"
|
import mri from "mri"
|
||||||
import { InstallationInfo } from "./utils/setup/setupBin"
|
|
||||||
import { Inputs, inputs } from "./tool"
|
import { Inputs, inputs } from "./tool"
|
||||||
|
import { InstallationInfo } from "./utils/setup/setupBin"
|
||||||
|
|
||||||
export function parseArgs(args: string[]): Opts {
|
export function parseArgs(args: string[]): Opts {
|
||||||
return mri<Record<Inputs, string | undefined> & { help: boolean }>(args, {
|
return mri<Record<Inputs, string | undefined> & { help: boolean }>(args, {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { setupCmake } from "../cmake"
|
|
||||||
import { setupTmpDir, cleanupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
|
||||||
import { GITHUB_ACTIONS } from "ci-info"
|
import { GITHUB_ACTIONS } from "ci-info"
|
||||||
|
import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
||||||
import { getVersion } from "../../versions/versions"
|
import { getVersion } from "../../versions/versions"
|
||||||
|
import { setupCmake } from "../cmake"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import { extractTar } from "@actions/tool-cache"
|
import { extractTar } from "@actions/tool-cache"
|
||||||
import semverLte from "semver/functions/lte"
|
|
||||||
import semverCoerce from "semver/functions/coerce"
|
|
||||||
import { setupBin, PackageInfo, InstallationInfo } from "../utils/setup/setupBin"
|
|
||||||
import { addExeExt } from "patha"
|
import { addExeExt } from "patha"
|
||||||
|
import semverCoerce from "semver/functions/coerce"
|
||||||
|
import semverLte from "semver/functions/lte"
|
||||||
import { extractZip } from "../utils/setup/extract"
|
import { extractZip } from "../utils/setup/extract"
|
||||||
|
import { InstallationInfo, PackageInfo, setupBin } from "../utils/setup/setupBin"
|
||||||
|
|
||||||
/** Get the platform data for cmake */
|
/** Get the platform data for cmake */
|
||||||
function getCmakePackageInfo(version: string, platform: NodeJS.Platform, arch: string): PackageInfo {
|
function getCmakePackageInfo(version: string, platform: NodeJS.Platform, arch: string): PackageInfo {
|
||||||
|
|
|
@ -60,10 +60,10 @@ export async function installCompiler(
|
||||||
case "mingw":
|
case "mingw":
|
||||||
case "cygwin":
|
case "cygwin":
|
||||||
case "msys": {
|
case "msys": {
|
||||||
const gccVersion =
|
const gccVersion = compiler === "mingw"
|
||||||
compiler === "mingw" ? getVersion("mingw", version, osVersion) : getVersion("gcc", version, osVersion)
|
? getVersion("mingw", version, osVersion)
|
||||||
const installationInfo =
|
: getVersion("gcc", version, osVersion)
|
||||||
compiler === "mingw"
|
const installationInfo = compiler === "mingw"
|
||||||
? await setupMingw(gccVersion, join(setupCppDir, "gcc"), arch)
|
? await setupMingw(gccVersion, join(setupCppDir, "gcc"), arch)
|
||||||
: await setupGcc(gccVersion, join(setupCppDir, "gcc"), arch)
|
: await setupGcc(gccVersion, join(setupCppDir, "gcc"), arch)
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { setupConan } from "../conan"
|
|
||||||
import { testBin } from "../../utils/tests/test-helpers"
|
import { testBin } from "../../utils/tests/test-helpers"
|
||||||
import { getVersion } from "../../versions/versions"
|
import { getVersion } from "../../versions/versions"
|
||||||
|
import { setupConan } from "../conan"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-conan", () => {
|
describe("setup-conan", () => {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { setupCppcheck } from "../cppcheck"
|
|
||||||
import { testBin } from "../../utils/tests/test-helpers"
|
import { testBin } from "../../utils/tests/test-helpers"
|
||||||
import { getVersion } from "../../versions/versions"
|
import { getVersion } from "../../versions/versions"
|
||||||
|
import { setupCppcheck } from "../cppcheck"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-cppcheck", () => {
|
describe("setup-cppcheck", () => {
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
import { addPath } from "../utils/env/addEnv"
|
import { addPath } from "../utils/env/addEnv"
|
||||||
|
import { hasDnf } from "../utils/env/hasDnf"
|
||||||
|
import { isArch } from "../utils/env/isArch"
|
||||||
|
import { isUbuntu } from "../utils/env/isUbuntu"
|
||||||
import { setupAptPack } from "../utils/setup/setupAptPack"
|
import { setupAptPack } from "../utils/setup/setupAptPack"
|
||||||
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
|
||||||
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
||||||
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
||||||
import { isArch } from "../utils/env/isArch"
|
|
||||||
import { hasDnf } from "../utils/env/hasDnf"
|
|
||||||
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
||||||
import { isUbuntu } from "../utils/env/isUbuntu"
|
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
export async function setupCppcheck(version: string | undefined, _setupDir: string, _arch: string) {
|
export async function setupCppcheck(version: string | undefined, _setupDir: string, _arch: string) {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import { setupDoxygen } from "../doxygen"
|
|
||||||
import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
|
||||||
import { InstallationInfo } from "../../utils/setup/setupBin"
|
|
||||||
import { getVersion } from "../../versions/versions"
|
|
||||||
import which from "which"
|
import which from "which"
|
||||||
import { ubuntuVersion } from "../../utils/env/ubuntu_version"
|
|
||||||
import { macosVersion } from "../../utils/env/macos_version"
|
import { macosVersion } from "../../utils/env/macos_version"
|
||||||
|
import { ubuntuVersion } from "../../utils/env/ubuntu_version"
|
||||||
|
import { InstallationInfo } from "../../utils/setup/setupBin"
|
||||||
|
import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
||||||
|
import { getVersion } from "../../versions/versions"
|
||||||
|
import { setupDoxygen } from "../doxygen"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-doxygen", () => {
|
describe("setup-doxygen", () => {
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
|
import { info, notice } from "ci-log"
|
||||||
|
import { addExeExt, join } from "patha"
|
||||||
|
import { setupGraphviz } from "../graphviz/graphviz"
|
||||||
import { addPath } from "../utils/env/addEnv"
|
import { addPath } from "../utils/env/addEnv"
|
||||||
|
import { extractTar, extractZip } from "../utils/setup/extract"
|
||||||
import { setupAptPack } from "../utils/setup/setupAptPack"
|
import { setupAptPack } from "../utils/setup/setupAptPack"
|
||||||
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
|
||||||
import { InstallationInfo, PackageInfo, setupBin } from "../utils/setup/setupBin"
|
import { InstallationInfo, PackageInfo, setupBin } from "../utils/setup/setupBin"
|
||||||
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
||||||
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
||||||
import { addExeExt, join } from "patha"
|
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
||||||
import { extractTar, extractZip } from "../utils/setup/extract"
|
|
||||||
import { info, notice } from "ci-log"
|
|
||||||
import { setupGraphviz } from "../graphviz/graphviz"
|
|
||||||
import { getVersion } from "../versions/versions"
|
import { getVersion } from "../versions/versions"
|
||||||
|
|
||||||
import { isArch } from "../utils/env/isArch"
|
|
||||||
import { hasDnf } from "../utils/env/hasDnf"
|
|
||||||
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
|
||||||
import { isUbuntu } from "../utils/env/isUbuntu"
|
|
||||||
import { pathExists } from "path-exists"
|
import { pathExists } from "path-exists"
|
||||||
import retry from "retry-as-promised"
|
import retry from "retry-as-promised"
|
||||||
import { ubuntuVersion } from "../utils/env/ubuntu_version"
|
import { hasDnf } from "../utils/env/hasDnf"
|
||||||
|
import { isArch } from "../utils/env/isArch"
|
||||||
|
import { isUbuntu } from "../utils/env/isUbuntu"
|
||||||
import { macosVersion } from "../utils/env/macos_version"
|
import { macosVersion } from "../utils/env/macos_version"
|
||||||
|
import { ubuntuVersion } from "../utils/env/ubuntu_version"
|
||||||
import { setupDmg } from "../utils/setup/setupDmg"
|
import { setupDmg } from "../utils/setup/setupDmg"
|
||||||
|
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
||||||
|
|
||||||
/** Get the platform data for cmake */
|
/** Get the platform data for cmake */
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
@ -128,11 +128,13 @@ export async function setupDoxygen(version: string, setupDir: string, arch: stri
|
||||||
async function activateWinDoxygen() {
|
async function activateWinDoxygen() {
|
||||||
switch (process.platform) {
|
switch (process.platform) {
|
||||||
case "win32": {
|
case "win32": {
|
||||||
for (const binDir of [
|
for (
|
||||||
|
const binDir of [
|
||||||
"C:/ProgramData/chocolatey/bin",
|
"C:/ProgramData/chocolatey/bin",
|
||||||
"C:/Program Files/doxygen/bin",
|
"C:/Program Files/doxygen/bin",
|
||||||
"C:/Program Files (x86)/doxygen",
|
"C:/Program Files (x86)/doxygen",
|
||||||
]) {
|
]
|
||||||
|
) {
|
||||||
// eslint-disable-next-line no-await-in-loop
|
// eslint-disable-next-line no-await-in-loop
|
||||||
if (await pathExists(join(binDir, "doxygen.exe"))) {
|
if (await pathExists(join(binDir, "doxygen.exe"))) {
|
||||||
// eslint-disable-next-line no-await-in-loop
|
// eslint-disable-next-line no-await-in-loop
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
|
||||||
import { setupGcc } from "../gcc"
|
|
||||||
import { getVersion } from "../../versions/versions"
|
|
||||||
import { join, addExeExt } from "patha"
|
|
||||||
import { execaSync } from "execa"
|
import { execaSync } from "execa"
|
||||||
import { chmodSync } from "fs"
|
import { chmodSync } from "fs"
|
||||||
|
import { addExeExt, join } from "patha"
|
||||||
import { ubuntuVersion } from "../../utils/env/ubuntu_version"
|
import { ubuntuVersion } from "../../utils/env/ubuntu_version"
|
||||||
|
import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
||||||
|
import { getVersion } from "../../versions/versions"
|
||||||
|
import { setupGcc } from "../gcc"
|
||||||
|
|
||||||
jest.setTimeout(3000000)
|
jest.setTimeout(3000000)
|
||||||
describe("setup-gcc", () => {
|
describe("setup-gcc", () => {
|
||||||
|
|
|
@ -1,23 +1,23 @@
|
||||||
import { addPath, addEnv } from "../utils/env/addEnv"
|
import { addEnv, addPath } from "../utils/env/addEnv"
|
||||||
|
|
||||||
import { setupAptPack, updateAptAlternatives } from "../utils/setup/setupAptPack"
|
|
||||||
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
|
||||||
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
|
||||||
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
|
||||||
import semverMajor from "semver/functions/major"
|
|
||||||
import semverCoerce from "semver/functions/coerce"
|
|
||||||
import { setupMacOSSDK } from "../macos-sdk/macos-sdk"
|
|
||||||
import { join, addExeExt } from "patha"
|
|
||||||
import { warning, info } from "ci-log"
|
|
||||||
import { GITHUB_ACTIONS } from "ci-info"
|
import { GITHUB_ACTIONS } from "ci-info"
|
||||||
import { InstallationInfo, PackageInfo, setupBin } from "../utils/setup/setupBin"
|
import { info, warning } from "ci-log"
|
||||||
import { extract7Zip } from "../utils/setup/extract"
|
import { ExecaReturnValue } from "execa"
|
||||||
|
import { pathExists } from "path-exists"
|
||||||
|
import { addExeExt, join } from "patha"
|
||||||
|
import semverCoerce from "semver/functions/coerce"
|
||||||
|
import semverMajor from "semver/functions/major"
|
||||||
|
import { setupMacOSSDK } from "../macos-sdk/macos-sdk"
|
||||||
|
import { hasDnf } from "../utils/env/hasDnf"
|
||||||
import { isArch } from "../utils/env/isArch"
|
import { isArch } from "../utils/env/isArch"
|
||||||
import { isUbuntu } from "../utils/env/isUbuntu"
|
import { isUbuntu } from "../utils/env/isUbuntu"
|
||||||
import { hasDnf } from "../utils/env/hasDnf"
|
import { extract7Zip } from "../utils/setup/extract"
|
||||||
|
import { setupAptPack, updateAptAlternatives } from "../utils/setup/setupAptPack"
|
||||||
|
import { InstallationInfo, PackageInfo, setupBin } from "../utils/setup/setupBin"
|
||||||
|
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
||||||
|
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
||||||
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
||||||
import { pathExists } from "path-exists"
|
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
||||||
import { ExecaReturnValue } from "execa"
|
|
||||||
|
|
||||||
interface MingwInfo {
|
interface MingwInfo {
|
||||||
releaseName: string
|
releaseName: string
|
||||||
|
@ -69,7 +69,8 @@ function getGccPackageInfo(version: string, platform: NodeJS.Platform, arch: str
|
||||||
binFileName: addExeExt("g++"),
|
binFileName: addExeExt("g++"),
|
||||||
extractedFolderName: "mingw64",
|
extractedFolderName: "mingw64",
|
||||||
extractFunction: extract7Zip,
|
extractFunction: extract7Zip,
|
||||||
url: `https://github.com/brechtsanders/winlibs_mingw/releases/download/${mingwInfo.releaseName}/winlibs-${mingwArch}-posix-${exceptionModel}-gcc-${mingwInfo.fileSuffix}.7z`,
|
url:
|
||||||
|
`https://github.com/brechtsanders/winlibs_mingw/releases/download/${mingwInfo.releaseName}/winlibs-${mingwArch}-posix-${exceptionModel}-gcc-${mingwInfo.fileSuffix}.7z`,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { setupGcovr } from "../gcovr"
|
import { ubuntuVersion } from "../../utils/env/ubuntu_version"
|
||||||
import { testBin } from "../../utils/tests/test-helpers"
|
import { testBin } from "../../utils/tests/test-helpers"
|
||||||
import { getVersion } from "../../versions/versions"
|
import { getVersion } from "../../versions/versions"
|
||||||
import { ubuntuVersion } from "../../utils/env/ubuntu_version"
|
import { setupGcovr } from "../gcovr"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-gcovr", () => {
|
describe("setup-gcovr", () => {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
import semverMajor from "semver/functions/major"
|
||||||
|
import semverValid from "semver/functions/valid"
|
||||||
import { addEnv } from "../utils/env/addEnv"
|
import { addEnv } from "../utils/env/addEnv"
|
||||||
import { setupPipPack } from "../utils/setup/setupPipPack"
|
import { setupPipPack } from "../utils/setup/setupPipPack"
|
||||||
import semverValid from "semver/functions/valid"
|
|
||||||
import semverMajor from "semver/functions/major"
|
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
export function setupGcovr(version: string | undefined, _setupDir: string, _arch: string) {
|
export function setupGcovr(version: string | undefined, _setupDir: string, _arch: string) {
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import { setupGraphviz } from "../graphviz"
|
|
||||||
import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
|
||||||
import { InstallationInfo } from "../../utils/setup/setupBin"
|
|
||||||
import { getVersion } from "../../versions/versions"
|
|
||||||
import { ubuntuVersion } from "../../utils/env/ubuntu_version"
|
|
||||||
import { macosVersion } from "../../utils/env/macos_version"
|
import { macosVersion } from "../../utils/env/macos_version"
|
||||||
|
import { ubuntuVersion } from "../../utils/env/ubuntu_version"
|
||||||
|
import { InstallationInfo } from "../../utils/setup/setupBin"
|
||||||
|
import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
||||||
|
import { getVersion } from "../../versions/versions"
|
||||||
|
import { setupGraphviz } from "../graphviz"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-graphviz", () => {
|
describe("setup-graphviz", () => {
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
import { addPath } from "../utils/env/addEnv"
|
import { addPath } from "../utils/env/addEnv"
|
||||||
|
import { hasDnf } from "../utils/env/hasDnf"
|
||||||
|
import { isArch } from "../utils/env/isArch"
|
||||||
|
import { isUbuntu } from "../utils/env/isUbuntu"
|
||||||
import { setupAptPack } from "../utils/setup/setupAptPack"
|
import { setupAptPack } from "../utils/setup/setupAptPack"
|
||||||
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
|
||||||
import { InstallationInfo } from "../utils/setup/setupBin"
|
import { InstallationInfo } from "../utils/setup/setupBin"
|
||||||
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
||||||
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
||||||
import { isArch } from "../utils/env/isArch"
|
|
||||||
import { hasDnf } from "../utils/env/hasDnf"
|
|
||||||
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
||||||
import { isUbuntu } from "../utils/env/isUbuntu"
|
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
export async function setupGraphviz(version: string, _setupDir: string, _arch: string) {
|
export async function setupGraphviz(version: string, _setupDir: string, _arch: string) {
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
import { endGroup, startGroup } from "@actions/core"
|
import { endGroup, startGroup } from "@actions/core"
|
||||||
import { error } from "ci-log"
|
import { error } from "ci-log"
|
||||||
|
import pTimeout from "p-timeout"
|
||||||
import { join } from "patha"
|
import { join } from "patha"
|
||||||
import { getSuccessMessage } from "./cli-options"
|
import { getSuccessMessage } from "./cli-options"
|
||||||
|
import { setups, ToolName } from "./tool"
|
||||||
import { InstallationInfo } from "./utils/setup/setupBin"
|
import { InstallationInfo } from "./utils/setup/setupBin"
|
||||||
import { setupVCVarsall } from "./vcvarsall/vcvarsall"
|
import { setupVCVarsall } from "./vcvarsall/vcvarsall"
|
||||||
import { getVersion } from "./versions/versions"
|
import { getVersion } from "./versions/versions"
|
||||||
import pTimeout from "p-timeout"
|
|
||||||
import { ToolName, setups } from "./tool"
|
|
||||||
|
|
||||||
export const DEFAULT_TIMEOUT = 20 * 60 * 1000 // 20 minutes
|
export const DEFAULT_TIMEOUT = 20 * 60 * 1000 // 20 minutes
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { setupKcov } from "../kcov"
|
|
||||||
import { setupTmpDir, cleanupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
|
||||||
import { InstallationInfo } from "../../utils/setup/setupBin"
|
|
||||||
import which from "which"
|
|
||||||
import { info } from "@actions/core"
|
import { info } from "@actions/core"
|
||||||
|
import which from "which"
|
||||||
|
import { InstallationInfo } from "../../utils/setup/setupBin"
|
||||||
|
import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
||||||
|
import { setupKcov } from "../kcov"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-Kcov", () => {
|
describe("setup-Kcov", () => {
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
|
import { info } from "ci-log"
|
||||||
import { execa } from "execa"
|
import { execa } from "execa"
|
||||||
import { join, addExeExt } from "patha"
|
import { addExeExt, join } from "patha"
|
||||||
|
import { untildifyUser } from "untildify-user"
|
||||||
import which from "which"
|
import which from "which"
|
||||||
import { setupCmake } from "../cmake/cmake"
|
import { setupCmake } from "../cmake/cmake"
|
||||||
import { getVersion } from "../versions/versions"
|
import { setupNinja } from "../ninja/ninja"
|
||||||
|
import { hasDnf } from "../utils/env/hasDnf"
|
||||||
|
import { isArch } from "../utils/env/isArch"
|
||||||
|
import { isUbuntu } from "../utils/env/isUbuntu"
|
||||||
|
import { ubuntuVersion } from "../utils/env/ubuntu_version"
|
||||||
import { extractTarByExe } from "../utils/setup/extract"
|
import { extractTarByExe } from "../utils/setup/extract"
|
||||||
import { setupAptPack } from "../utils/setup/setupAptPack"
|
import { setupAptPack } from "../utils/setup/setupAptPack"
|
||||||
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
|
||||||
import { InstallationInfo, PackageInfo, setupBin } from "../utils/setup/setupBin"
|
import { InstallationInfo, PackageInfo, setupBin } from "../utils/setup/setupBin"
|
||||||
import { isArch } from "../utils/env/isArch"
|
|
||||||
import { hasDnf } from "../utils/env/hasDnf"
|
|
||||||
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
||||||
import { isUbuntu } from "../utils/env/isUbuntu"
|
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
||||||
import { addVPrefix, removeVPrefix } from "../utils/setup/version"
|
import { addVPrefix, removeVPrefix } from "../utils/setup/version"
|
||||||
import { info } from "ci-log"
|
import { getVersion } from "../versions/versions"
|
||||||
import { untildifyUser } from "untildify-user"
|
|
||||||
import { setupNinja } from "../ninja/ninja"
|
|
||||||
import { ubuntuVersion } from "../utils/env/ubuntu_version"
|
|
||||||
|
|
||||||
function getDownloadKcovPackageInfo(version: string): PackageInfo {
|
function getDownloadKcovPackageInfo(version: string): PackageInfo {
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
import { setupLLVM, setupClangTools, setupClangFormat } from "../llvm"
|
|
||||||
import { getSpecificVersionAndUrl } from "../../utils/setup/version"
|
|
||||||
import { isUrlOnline } from "is-url-online"
|
|
||||||
import { setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
|
||||||
import { execaSync } from "execa"
|
|
||||||
import path, { addExeExt } from "patha"
|
|
||||||
import { chmodSync } from "fs"
|
|
||||||
import { getVersion } from "../../versions/versions"
|
|
||||||
import { ubuntuVersion } from "../../utils/env/ubuntu_version"
|
|
||||||
import * as io from "@actions/io"
|
import * as io from "@actions/io"
|
||||||
|
import { execaSync } from "execa"
|
||||||
|
import { chmodSync } from "fs"
|
||||||
|
import { isUrlOnline } from "is-url-online"
|
||||||
|
import path, { addExeExt } from "patha"
|
||||||
|
import { ubuntuVersion } from "../../utils/env/ubuntu_version"
|
||||||
|
import { getSpecificVersionAndUrl } from "../../utils/setup/version"
|
||||||
|
import { setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
||||||
|
import { getVersion } from "../../versions/versions"
|
||||||
|
import { setupClangFormat, setupClangTools, setupLLVM } from "../llvm"
|
||||||
import { getLinuxUrl, getUrl, VERSIONS } from "../llvm_url"
|
import { getLinuxUrl, getUrl, VERSIONS } from "../llvm_url"
|
||||||
|
|
||||||
jest.setTimeout(400000)
|
jest.setTimeout(400000)
|
||||||
|
@ -27,24 +27,33 @@ describe("setup-llvm", () => {
|
||||||
|
|
||||||
it("Finds URL for ubuntu version", async () => {
|
it("Finds URL for ubuntu version", async () => {
|
||||||
expect(
|
expect(
|
||||||
await getSpecificVersionAndUrl(VERSIONS, "linux", "13.0.0-ubuntu-16.04", (_plantform, version) =>
|
await getSpecificVersionAndUrl(
|
||||||
getLinuxUrl(version),
|
VERSIONS,
|
||||||
|
"linux",
|
||||||
|
"13.0.0-ubuntu-16.04",
|
||||||
|
(_plantform, version) => getLinuxUrl(version),
|
||||||
),
|
),
|
||||||
).toStrictEqual([
|
).toStrictEqual([
|
||||||
"13.0.0-ubuntu-16.04",
|
"13.0.0-ubuntu-16.04",
|
||||||
"https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.0/clang+llvm-13.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz",
|
"https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.0/clang+llvm-13.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz",
|
||||||
])
|
])
|
||||||
expect(
|
expect(
|
||||||
await getSpecificVersionAndUrl(VERSIONS, "linux", "13.0.1-ubuntu-18.04", (_plantform, version) =>
|
await getSpecificVersionAndUrl(
|
||||||
getLinuxUrl(version),
|
VERSIONS,
|
||||||
|
"linux",
|
||||||
|
"13.0.1-ubuntu-18.04",
|
||||||
|
(_plantform, version) => getLinuxUrl(version),
|
||||||
),
|
),
|
||||||
).toStrictEqual([
|
).toStrictEqual([
|
||||||
"13.0.1-ubuntu-18.04",
|
"13.0.1-ubuntu-18.04",
|
||||||
"https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/clang+llvm-13.0.1-x86_64-linux-gnu-ubuntu-18.04.tar.xz",
|
"https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/clang+llvm-13.0.1-x86_64-linux-gnu-ubuntu-18.04.tar.xz",
|
||||||
])
|
])
|
||||||
expect(
|
expect(
|
||||||
await getSpecificVersionAndUrl(VERSIONS, "linux", "13.0.0-ubuntu-20.04", (_plantform, version) =>
|
await getSpecificVersionAndUrl(
|
||||||
getLinuxUrl(version),
|
VERSIONS,
|
||||||
|
"linux",
|
||||||
|
"13.0.0-ubuntu-20.04",
|
||||||
|
(_plantform, version) => getLinuxUrl(version),
|
||||||
),
|
),
|
||||||
).toStrictEqual([
|
).toStrictEqual([
|
||||||
"13.0.0-ubuntu-20.04",
|
"13.0.0-ubuntu-20.04",
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import { execRoot } from "admina"
|
import { execRoot } from "admina"
|
||||||
|
import { info } from "console"
|
||||||
import { execa } from "execa"
|
import { execa } from "execa"
|
||||||
|
import { promises } from "fs"
|
||||||
|
import { DEFAULT_TIMEOUT } from "../installTool"
|
||||||
import { addPath } from "../utils/env/addEnv"
|
import { addPath } from "../utils/env/addEnv"
|
||||||
import { hasNala, isPackageInstalled, setupAptPack } from "../utils/setup/setupAptPack"
|
import { hasNala, isPackageInstalled, setupAptPack } from "../utils/setup/setupAptPack"
|
||||||
import { InstallationInfo } from "../utils/setup/setupBin"
|
import { InstallationInfo } from "../utils/setup/setupBin"
|
||||||
import { promises } from "fs"
|
|
||||||
import { info } from "console"
|
|
||||||
import { DEFAULT_TIMEOUT } from "../installTool"
|
|
||||||
const { readFile, writeFile, chmod } = promises
|
const { readFile, writeFile, chmod } = promises
|
||||||
|
|
||||||
export enum LLVMPackages {
|
export enum LLVMPackages {
|
||||||
|
@ -72,7 +72,7 @@ function nonInteractiveScript(script: string) {
|
||||||
return script.replace(
|
return script.replace(
|
||||||
/add-apt-repository "\${REPO_NAME}"/g,
|
/add-apt-repository "\${REPO_NAME}"/g,
|
||||||
// eslint-disable-next-line no-template-curly-in-string
|
// eslint-disable-next-line no-template-curly-in-string
|
||||||
'add-apt-repository -y "${REPO_NAME}"',
|
"add-apt-repository -y \"${REPO_NAME}\"",
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ async function removeConflictingPackages(givenScript: string) {
|
||||||
// fix conflicts between libclang-rt and libclang
|
// fix conflicts between libclang-rt and libclang
|
||||||
let script = givenScript.replace(
|
let script = givenScript.replace(
|
||||||
/apt-get install -y/g,
|
/apt-get install -y/g,
|
||||||
'apt-get install -o Dpkg::Options::="--force-overwrite" -y --fix-broken',
|
"apt-get install -o Dpkg::Options::=\"--force-overwrite\" -y --fix-broken",
|
||||||
)
|
)
|
||||||
|
|
||||||
// check if these are installed and if so, remove them from the script as they conflict
|
// check if these are installed and if so, remove them from the script as they conflict
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import semverLte from "semver/functions/lte"
|
|
||||||
import { isUrlOnline } from "is-url-online"
|
|
||||||
import { getSpecificVersionAndUrl, getSpecificVersions, getVersions } from "../utils/setup/version"
|
|
||||||
import { info, warning } from "ci-log"
|
import { info, warning } from "ci-log"
|
||||||
import { PackageInfo } from "../utils/setup/setupBin"
|
import { isUrlOnline } from "is-url-online"
|
||||||
import { addExeExt } from "patha"
|
import { addExeExt } from "patha"
|
||||||
|
import semverLte from "semver/functions/lte"
|
||||||
import { extractExe, extractTarByExe } from "../utils/setup/extract"
|
import { extractExe, extractTarByExe } from "../utils/setup/extract"
|
||||||
|
import { PackageInfo } from "../utils/setup/setupBin"
|
||||||
|
import { getSpecificVersionAndUrl, getSpecificVersions, getVersions } from "../utils/setup/version"
|
||||||
|
|
||||||
// ================================================
|
// ================================================
|
||||||
// Version
|
// Version
|
||||||
|
@ -317,8 +317,7 @@ export async function getLLVMPackageInfo(
|
||||||
extractedFolderName: "",
|
extractedFolderName: "",
|
||||||
binRelativeDir: "bin",
|
binRelativeDir: "bin",
|
||||||
binFileName: addExeExt("clang"),
|
binFileName: addExeExt("clang"),
|
||||||
extractFunction:
|
extractFunction: platform === "win32"
|
||||||
platform === "win32"
|
|
||||||
? extractExe
|
? extractExe
|
||||||
: (file: string, dest: string) => {
|
: (file: string, dest: string) => {
|
||||||
return extractTarByExe(file, dest, ["--strip-components=1"])
|
return extractTarByExe(file, dest, ["--strip-components=1"])
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { getExecOutput } from "@actions/exec"
|
import { getExecOutput } from "@actions/exec"
|
||||||
import { addEnv } from "../utils/env/addEnv"
|
|
||||||
import { error } from "ci-log"
|
import { error } from "ci-log"
|
||||||
|
import { addEnv } from "../utils/env/addEnv"
|
||||||
|
|
||||||
export async function setupMacOSSDK() {
|
export async function setupMacOSSDK() {
|
||||||
if (process.platform === "darwin") {
|
if (process.platform === "darwin") {
|
||||||
|
|
|
@ -11,13 +11,13 @@ import { untildifyUser } from "untildify-user"
|
||||||
import { checkUpdates } from "./check-updates"
|
import { checkUpdates } from "./check-updates"
|
||||||
import { parseArgs, printHelp } from "./cli-options"
|
import { parseArgs, printHelp } from "./cli-options"
|
||||||
import { installCompiler } from "./compilers"
|
import { installCompiler } from "./compilers"
|
||||||
|
import { installTool } from "./installTool"
|
||||||
|
import { tools } from "./tool"
|
||||||
import { finalizeCpprc } from "./utils/env/addEnv"
|
import { finalizeCpprc } from "./utils/env/addEnv"
|
||||||
import { isArch } from "./utils/env/isArch"
|
import { isArch } from "./utils/env/isArch"
|
||||||
import { ubuntuVersion } from "./utils/env/ubuntu_version"
|
import { ubuntuVersion } from "./utils/env/ubuntu_version"
|
||||||
import { setupPacmanPack } from "./utils/setup/setupPacmanPack"
|
import { setupPacmanPack } from "./utils/setup/setupPacmanPack"
|
||||||
import { syncVersions } from "./versions/versions"
|
import { syncVersions } from "./versions/versions"
|
||||||
import { installTool } from "./installTool"
|
|
||||||
import { tools } from "./tool"
|
|
||||||
|
|
||||||
/** The main entry function */
|
/** The main entry function */
|
||||||
async function main(args: string[]): Promise<number> {
|
async function main(args: string[]): Promise<number> {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { setupMake } from "../make"
|
|
||||||
import { testBin } from "../../utils/tests/test-helpers"
|
|
||||||
import { InstallationInfo } from "../../utils/setup/setupBin"
|
import { InstallationInfo } from "../../utils/setup/setupBin"
|
||||||
|
import { testBin } from "../../utils/tests/test-helpers"
|
||||||
|
import { setupMake } from "../make"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-make", () => {
|
describe("setup-make", () => {
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
import { addPath } from "../utils/env/addEnv"
|
import { addPath } from "../utils/env/addEnv"
|
||||||
|
import { hasDnf } from "../utils/env/hasDnf"
|
||||||
|
import { isArch } from "../utils/env/isArch"
|
||||||
|
import { isUbuntu } from "../utils/env/isUbuntu"
|
||||||
import { setupAptPack } from "../utils/setup/setupAptPack"
|
import { setupAptPack } from "../utils/setup/setupAptPack"
|
||||||
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
|
||||||
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
||||||
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
||||||
import { isArch } from "../utils/env/isArch"
|
|
||||||
import { hasDnf } from "../utils/env/hasDnf"
|
|
||||||
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
||||||
import { isUbuntu } from "../utils/env/isUbuntu"
|
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
export async function setupMake(version: string, _setupDir: string, _arch: string) {
|
export async function setupMake(version: string, _setupDir: string, _arch: string) {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { setupMeson } from "../meson"
|
import { ubuntuVersion } from "../../utils/env/ubuntu_version"
|
||||||
import { testBin } from "../../utils/tests/test-helpers"
|
import { testBin } from "../../utils/tests/test-helpers"
|
||||||
import { getVersion } from "../../versions/versions"
|
import { getVersion } from "../../versions/versions"
|
||||||
import { ubuntuVersion } from "../../utils/env/ubuntu_version"
|
import { setupMeson } from "../meson"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-meson", () => {
|
describe("setup-meson", () => {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import which from "which"
|
|
||||||
import { setupMSVC } from "../msvc"
|
|
||||||
import { runnerWindowsVersion } from "../../utils/tests/test-helpers"
|
|
||||||
import { warning } from "ci-log"
|
import { warning } from "ci-log"
|
||||||
|
import which from "which"
|
||||||
|
import { runnerWindowsVersion } from "../../utils/tests/test-helpers"
|
||||||
|
import { setupMSVC } from "../msvc"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-msvc", () => {
|
describe("setup-msvc", () => {
|
||||||
|
|
|
@ -2,8 +2,8 @@ import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
||||||
import { setupVCVarsall } from "../vcvarsall/vcvarsall"
|
import { setupVCVarsall } from "../vcvarsall/vcvarsall"
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import { vsversion_to_versionnumber, findVcvarsall } from "msvc-dev-cmd/lib.js"
|
|
||||||
import { GITHUB_ACTIONS } from "ci-info"
|
import { GITHUB_ACTIONS } from "ci-info"
|
||||||
|
import { findVcvarsall, vsversion_to_versionnumber } from "msvc-dev-cmd/lib.js"
|
||||||
import { join } from "patha"
|
import { join } from "patha"
|
||||||
|
|
||||||
import { error, info, warning } from "ci-log"
|
import { error, info, warning } from "ci-log"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { setupNala } from "../nala"
|
|
||||||
import { testBin } from "../../utils/tests/test-helpers"
|
|
||||||
import { isUbuntu } from "../../utils/env/isUbuntu"
|
|
||||||
import { execRootSync } from "admina"
|
import { execRootSync } from "admina"
|
||||||
|
import { isUbuntu } from "../../utils/env/isUbuntu"
|
||||||
|
import { testBin } from "../../utils/tests/test-helpers"
|
||||||
|
import { setupNala } from "../nala"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-nala", () => {
|
describe("setup-nala", () => {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
import { execRootSync } from "admina"
|
||||||
import { dirname } from "patha"
|
import { dirname } from "patha"
|
||||||
import which from "which"
|
import which from "which"
|
||||||
import { isUbuntu } from "../utils/env/isUbuntu"
|
import { isUbuntu } from "../utils/env/isUbuntu"
|
||||||
import { execRootSync } from "admina"
|
|
||||||
import { addAptKeyViaDownload, hasNala, setupAptPack } from "../utils/setup/setupAptPack"
|
import { addAptKeyViaDownload, hasNala, setupAptPack } from "../utils/setup/setupAptPack"
|
||||||
|
|
||||||
let binDir: string | undefined
|
let binDir: string | undefined
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { setupNinja } from "../ninja"
|
|
||||||
import { setupTmpDir, cleanupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
|
||||||
import { GITHUB_ACTIONS } from "ci-info"
|
import { GITHUB_ACTIONS } from "ci-info"
|
||||||
|
import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
||||||
import { getVersion } from "../../versions/versions"
|
import { getVersion } from "../../versions/versions"
|
||||||
|
import { setupNinja } from "../ninja"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
async function testNinja(directory: string) {
|
async function testNinja(directory: string) {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { addExeExt } from "patha"
|
import { addExeExt } from "patha"
|
||||||
import { extractZip } from "../utils/setup/extract"
|
import { extractZip } from "../utils/setup/extract"
|
||||||
import { setupBin, PackageInfo, InstallationInfo } from "../utils/setup/setupBin"
|
import { InstallationInfo, PackageInfo, setupBin } from "../utils/setup/setupBin"
|
||||||
|
|
||||||
/** Get the platform name Ninja uses in their download links */
|
/** Get the platform name Ninja uses in their download links */
|
||||||
function getNinjaPlatform(platform: NodeJS.Platform) {
|
function getNinjaPlatform(platform: NodeJS.Platform) {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { setupOpencppcoverage } from "../opencppcoverage"
|
|
||||||
import { testBin } from "../../utils/tests/test-helpers"
|
import { testBin } from "../../utils/tests/test-helpers"
|
||||||
|
import { setupOpencppcoverage } from "../opencppcoverage"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-OpenCppCoverage", () => {
|
describe("setup-OpenCppCoverage", () => {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { setupPowershell } from "../powershell"
|
import { GITHUB_ACTIONS } from "ci-info"
|
||||||
import { testBin } from "../../utils/tests/test-helpers"
|
import { testBin } from "../../utils/tests/test-helpers"
|
||||||
import { getVersion } from "../../versions/versions"
|
import { getVersion } from "../../versions/versions"
|
||||||
import { GITHUB_ACTIONS } from "ci-info"
|
import { setupPowershell } from "../powershell"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-powershell", () => {
|
describe("setup-powershell", () => {
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
|
import { execRootSync } from "admina"
|
||||||
import { addPath } from "../utils/env/addEnv"
|
import { addPath } from "../utils/env/addEnv"
|
||||||
|
import { hasDnf } from "../utils/env/hasDnf"
|
||||||
|
import { isArch } from "../utils/env/isArch"
|
||||||
|
import { isUbuntu } from "../utils/env/isUbuntu"
|
||||||
|
import { ubuntuVersion } from "../utils/env/ubuntu_version"
|
||||||
import { setupAptPack } from "../utils/setup/setupAptPack"
|
import { setupAptPack } from "../utils/setup/setupAptPack"
|
||||||
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
|
||||||
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
||||||
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
||||||
import { isArch } from "../utils/env/isArch"
|
|
||||||
import { hasDnf } from "../utils/env/hasDnf"
|
|
||||||
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
||||||
import { isUbuntu } from "../utils/env/isUbuntu"
|
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
||||||
import { execRootSync } from "admina"
|
|
||||||
import { ubuntuVersion } from "../utils/env/ubuntu_version"
|
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
export async function setupPowershell(version: string | undefined, _setupDir: string, _arch: string) {
|
export async function setupPowershell(version: string | undefined, _setupDir: string, _arch: string) {
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import { setupPython } from "../python"
|
|
||||||
import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
|
||||||
import { getVersion } from "../../versions/versions"
|
|
||||||
import { ubuntuVersion } from "../../utils/env/ubuntu_version"
|
|
||||||
import { GITHUB_ACTIONS } from "ci-info"
|
import { GITHUB_ACTIONS } from "ci-info"
|
||||||
import { info } from "ci-log"
|
import { info } from "ci-log"
|
||||||
|
import { ubuntuVersion } from "../../utils/env/ubuntu_version"
|
||||||
|
import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
||||||
|
import { getVersion } from "../../versions/versions"
|
||||||
|
import { setupPython } from "../python"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-python", () => {
|
describe("setup-python", () => {
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
import { useCpythonVersion } from "setup-python/src/find-python"
|
|
||||||
import { findPyPyVersion } from "setup-python/src/find-pypy"
|
import { findPyPyVersion } from "setup-python/src/find-pypy"
|
||||||
|
import { useCpythonVersion } from "setup-python/src/find-python"
|
||||||
|
|
||||||
import { info, warning } from "ci-log"
|
|
||||||
import { debug } from "@actions/core"
|
import { debug } from "@actions/core"
|
||||||
import { join } from "patha"
|
|
||||||
import { GITHUB_ACTIONS } from "ci-info"
|
import { GITHUB_ACTIONS } from "ci-info"
|
||||||
import { IS_MAC } from "setup-python/src/utils"
|
import { info, warning } from "ci-log"
|
||||||
import { pathExists } from "path-exists"
|
import { pathExists } from "path-exists"
|
||||||
|
import { join } from "patha"
|
||||||
|
import { IS_MAC } from "setup-python/src/utils"
|
||||||
|
|
||||||
function isPyPyVersion(versionSpec: string) {
|
function isPyPyVersion(versionSpec: string) {
|
||||||
return versionSpec.startsWith("pypy")
|
return versionSpec.startsWith("pypy")
|
||||||
|
|
|
@ -5,6 +5,7 @@ import { GITHUB_ACTIONS } from "ci-info"
|
||||||
import { info, warning } from "ci-log"
|
import { info, warning } from "ci-log"
|
||||||
import { execa } from "execa"
|
import { execa } from "execa"
|
||||||
import memoize from "micro-memoize"
|
import memoize from "micro-memoize"
|
||||||
|
import { pathExists } from "path-exists"
|
||||||
import { addExeExt, dirname, join } from "patha"
|
import { addExeExt, dirname, join } from "patha"
|
||||||
import which from "which"
|
import which from "which"
|
||||||
import { addPath } from "../utils/env/addEnv"
|
import { addPath } from "../utils/env/addEnv"
|
||||||
|
@ -17,11 +18,10 @@ import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
||||||
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
||||||
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
||||||
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
||||||
|
import { hasPipx, setupPipPackSystem, setupPipPackWithPython } from "../utils/setup/setupPipPack"
|
||||||
import { isBinUptoDate } from "../utils/setup/version"
|
import { isBinUptoDate } from "../utils/setup/version"
|
||||||
import { unique } from "../utils/std"
|
import { unique } from "../utils/std"
|
||||||
import { MinVersions } from "../versions/default_versions"
|
import { MinVersions } from "../versions/default_versions"
|
||||||
import { pathExists } from "path-exists"
|
|
||||||
import { hasPipx, setupPipPackSystem, setupPipPackWithPython } from "../utils/setup/setupPipPack"
|
|
||||||
|
|
||||||
export async function setupPython(version: string, setupDir: string, arch: string): Promise<InstallationInfo> {
|
export async function setupPython(version: string, setupDir: string, arch: string): Promise<InstallationInfo> {
|
||||||
const installInfo = await findOrSetupPython(version, setupDir, arch)
|
const installInfo = await findOrSetupPython(version, setupDir, arch)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { setupSccache } from "../sccache"
|
|
||||||
import { testBin } from "../../utils/tests/test-helpers"
|
|
||||||
import { InstallationInfo } from "../../utils/setup/setupBin"
|
import { InstallationInfo } from "../../utils/setup/setupBin"
|
||||||
|
import { testBin } from "../../utils/tests/test-helpers"
|
||||||
|
import { setupSccache } from "../sccache"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-sccache", () => {
|
describe("setup-sccache", () => {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { setupSevenZip } from "../sevenzip"
|
|
||||||
import { testBin } from "../../utils/tests/test-helpers"
|
|
||||||
import { InstallationInfo } from "../../utils/setup/setupBin"
|
import { InstallationInfo } from "../../utils/setup/setupBin"
|
||||||
|
import { testBin } from "../../utils/tests/test-helpers"
|
||||||
|
import { setupSevenZip } from "../sevenzip"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-7z", () => {
|
describe("setup-7z", () => {
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
|
import { hasDnf } from "../utils/env/hasDnf"
|
||||||
|
import { isArch } from "../utils/env/isArch"
|
||||||
|
import { isUbuntu } from "../utils/env/isUbuntu"
|
||||||
import { setupAptPack } from "../utils/setup/setupAptPack"
|
import { setupAptPack } from "../utils/setup/setupAptPack"
|
||||||
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
|
||||||
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
import { setupBrewPack } from "../utils/setup/setupBrewPack"
|
||||||
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
||||||
import { isArch } from "../utils/env/isArch"
|
|
||||||
import { hasDnf } from "../utils/env/hasDnf"
|
|
||||||
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
import { setupDnfPack } from "../utils/setup/setupDnfPack"
|
||||||
import { isUbuntu } from "../utils/env/isUbuntu"
|
import { setupPacmanPack } from "../utils/setup/setupPacmanPack"
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
export function setupSevenZip(version: string, _setupDir: string, _arch: string) {
|
export function setupSevenZip(version: string, _setupDir: string, _arch: string) {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { setupTask } from "../task"
|
|
||||||
import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
|
||||||
import { GITHUB_ACTIONS } from "ci-info"
|
import { GITHUB_ACTIONS } from "ci-info"
|
||||||
|
import { cleanupTmpDir, setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
||||||
import { getVersion } from "../../versions/versions"
|
import { getVersion } from "../../versions/versions"
|
||||||
|
import { setupTask } from "../task"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-task", () => {
|
describe("setup-task", () => {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { addExeExt } from "patha"
|
import { addExeExt } from "patha"
|
||||||
import { extractTarByExe, extractZip } from "../utils/setup/extract"
|
import { extractTarByExe, extractZip } from "../utils/setup/extract"
|
||||||
import { setupBin, PackageInfo, InstallationInfo } from "../utils/setup/setupBin"
|
import { InstallationInfo, PackageInfo, setupBin } from "../utils/setup/setupBin"
|
||||||
|
|
||||||
/** Get the platform name task uses in their download links */
|
/** Get the platform name task uses in their download links */
|
||||||
function getTaskPlatform(platform: NodeJS.Platform) {
|
function getTaskPlatform(platform: NodeJS.Platform) {
|
||||||
|
|
|
@ -10,7 +10,7 @@ import { setupGcc } from "./gcc/gcc"
|
||||||
import { setupGcovr } from "./gcovr/gcovr"
|
import { setupGcovr } from "./gcovr/gcovr"
|
||||||
import { setupGraphviz } from "./graphviz/graphviz"
|
import { setupGraphviz } from "./graphviz/graphviz"
|
||||||
import { setupKcov } from "./kcov/kcov"
|
import { setupKcov } from "./kcov/kcov"
|
||||||
import { setupClangTools, setupLLVM, setupClangFormat } from "./llvm/llvm"
|
import { setupClangFormat, setupClangTools, setupLLVM } from "./llvm/llvm"
|
||||||
import { setupMake } from "./make/make"
|
import { setupMake } from "./make/make"
|
||||||
import { setupMeson } from "./meson/meson"
|
import { setupMeson } from "./meson/meson"
|
||||||
import { setupMSVC } from "./msvc/msvc"
|
import { setupMSVC } from "./msvc/msvc"
|
||||||
|
|
|
@ -29,8 +29,7 @@ export const {
|
||||||
} = fs.promises
|
} = fs.promises
|
||||||
|
|
||||||
import { promisify } from "util"
|
import { promisify } from "util"
|
||||||
export const rm =
|
export const rm = "rm" in fs.promises
|
||||||
"rm" in fs.promises
|
|
||||||
? (
|
? (
|
||||||
fs.promises as typeof fs.promises & {
|
fs.promises as typeof fs.promises & {
|
||||||
rm: (path: string, options?: fs.RmDirOptions) => Promise<void>
|
rm: (path: string, options?: fs.RmDirOptions) => Promise<void>
|
||||||
|
|
|
@ -4,12 +4,10 @@
|
||||||
import * as stream from "stream"
|
import * as stream from "stream"
|
||||||
import { promisify } from "util"
|
import { promisify } from "util"
|
||||||
|
|
||||||
export const pipeline =
|
export const pipeline = "promises" in stream && "pipeline" in (stream as any).promises
|
||||||
"promises" in stream && "pipeline" in (stream as any).promises
|
|
||||||
? ((stream.promises as any).pipeline as Function)
|
? ((stream.promises as any).pipeline as Function)
|
||||||
: promisify(stream.pipeline)
|
: promisify(stream.pipeline)
|
||||||
|
|
||||||
export const finished =
|
export const finished = "promises" in stream && "finished" in (stream as any).promises
|
||||||
"promises" in stream && "finished" in (stream as any).promises
|
|
||||||
? ((stream.promises as any).finished as Function)
|
? ((stream.promises as any).finished as Function)
|
||||||
: promisify(stream.finished)
|
: promisify(stream.finished)
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
import { exportVariable, addPath as ghAddPath, info, setFailed } from "@actions/core"
|
import { addPath as ghAddPath, exportVariable, info, setFailed } from "@actions/core"
|
||||||
import { GITHUB_ACTIONS } from "ci-info"
|
|
||||||
import { untildifyUser } from "untildify-user"
|
|
||||||
import { appendFileSync, readFileSync, writeFileSync } from "fs"
|
|
||||||
import { error, warning } from "ci-log"
|
|
||||||
import { execPowershell } from "exec-powershell"
|
|
||||||
import { delimiter } from "path"
|
|
||||||
import escapeSpace from "escape-path-with-spaces"
|
|
||||||
import { grantUserWriteAccess } from "admina"
|
import { grantUserWriteAccess } from "admina"
|
||||||
|
import { GITHUB_ACTIONS } from "ci-info"
|
||||||
|
import { error, warning } from "ci-log"
|
||||||
|
import escapeSpace from "escape-path-with-spaces"
|
||||||
import escapeQuote from "escape-quotes"
|
import escapeQuote from "escape-quotes"
|
||||||
|
import { execPowershell } from "exec-powershell"
|
||||||
|
import { appendFileSync, readFileSync, writeFileSync } from "fs"
|
||||||
|
import { delimiter } from "path"
|
||||||
import { pathExists } from "path-exists"
|
import { pathExists } from "path-exists"
|
||||||
|
import { untildifyUser } from "untildify-user"
|
||||||
|
|
||||||
type AddEnvOptions = {
|
type AddEnvOptions = {
|
||||||
/** If true, the value will be escaped with quotes and spaces will be escaped with backslash */
|
/** If true, the value will be escaped with quotes and spaces will be escaped with backslash */
|
||||||
|
@ -58,7 +58,7 @@ export async function addEnv(
|
||||||
|
|
||||||
function escapeString(valGiven: string, shouldEscapeSpace: boolean = false) {
|
function escapeString(valGiven: string, shouldEscapeSpace: boolean = false) {
|
||||||
const spaceEscaped = shouldEscapeSpace ? escapeSpace(valGiven) : valGiven
|
const spaceEscaped = shouldEscapeSpace ? escapeSpace(valGiven) : valGiven
|
||||||
return escapeQuote(spaceEscaped, '"', "\\")
|
return escapeQuote(spaceEscaped, "\"", "\\")
|
||||||
}
|
}
|
||||||
|
|
||||||
const ignoredPaths = [/\/usr\/bin\/?/, /\/usr\/local\/bin\/?/]
|
const ignoredPaths = [/\/usr\/bin\/?/, /\/usr\/local\/bin\/?/]
|
||||||
|
@ -184,7 +184,8 @@ export async function setupCppInProfile() {
|
||||||
|
|
||||||
// source cpprc in bashrc/profile
|
// source cpprc in bashrc/profile
|
||||||
|
|
||||||
const source_cpprc_string = `\n# source .cpprc if SOURCE_CPPRC is not set to 0\nif [[ "$SOURCE_CPPRC" != 0 && -f "${cpprc_path}" ]]; then source "${cpprc_path}"; fi\n`
|
const source_cpprc_string =
|
||||||
|
`\n# source .cpprc if SOURCE_CPPRC is not set to 0\nif [[ "$SOURCE_CPPRC" != 0 && -f "${cpprc_path}" ]]; then source "${cpprc_path}"; fi\n`
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// source cpprc in .profile
|
// source cpprc in .profile
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import { warning } from "ci-log"
|
import { warning } from "ci-log"
|
||||||
|
import memoize from "micro-memoize"
|
||||||
|
import os from "os"
|
||||||
import { getUbuntuVersion } from "ubuntu-version"
|
import { getUbuntuVersion } from "ubuntu-version"
|
||||||
import which from "which"
|
import which from "which"
|
||||||
import { setupAptPack } from "../setup/setupAptPack"
|
import { setupAptPack } from "../setup/setupAptPack"
|
||||||
import { isUbuntu } from "./isUbuntu"
|
import { isUbuntu } from "./isUbuntu"
|
||||||
import os from "os"
|
|
||||||
import memoize from "micro-memoize"
|
|
||||||
|
|
||||||
async function ubuntuVersion_raw(): Promise<number[] | null> {
|
async function ubuntuVersion_raw(): Promise<number[] | null> {
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import { execa } from "execa"
|
|
||||||
import { mkdirP } from "@actions/io"
|
import { mkdirP } from "@actions/io"
|
||||||
|
import { grantUserWriteAccess } from "admina"
|
||||||
|
import { warning } from "ci-log"
|
||||||
|
import { execa } from "execa"
|
||||||
import which from "which"
|
import which from "which"
|
||||||
import { setupSevenZip } from "../../sevenzip/sevenzip"
|
import { setupSevenZip } from "../../sevenzip/sevenzip"
|
||||||
import { warning } from "ci-log"
|
|
||||||
import { grantUserWriteAccess } from "admina"
|
|
||||||
export { extractTar, extractXar } from "@actions/tool-cache"
|
export { extractTar, extractXar } from "@actions/tool-cache"
|
||||||
|
|
||||||
let sevenZip: string | undefined
|
let sevenZip: string | undefined
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
import { InstallationInfo } from "./setupBin"
|
|
||||||
import { execRoot, execRootSync } from "admina"
|
import { execRoot, execRootSync } from "admina"
|
||||||
import { GITHUB_ACTIONS } from "ci-info"
|
import { GITHUB_ACTIONS } from "ci-info"
|
||||||
import { addEnv, cpprc_path, setupCppInProfile } from "../env/addEnv"
|
|
||||||
import { pathExists } from "path-exists"
|
|
||||||
import { promises as fsPromises } from "fs"
|
import { promises as fsPromises } from "fs"
|
||||||
|
import { pathExists } from "path-exists"
|
||||||
|
import { addEnv, cpprc_path, setupCppInProfile } from "../env/addEnv"
|
||||||
|
import { InstallationInfo } from "./setupBin"
|
||||||
const { appendFile } = fsPromises
|
const { appendFile } = fsPromises
|
||||||
import { execa, ExecaError } from "execa"
|
import { info, warning } from "ci-log"
|
||||||
import escapeRegex from "escape-string-regexp"
|
import escapeRegex from "escape-string-regexp"
|
||||||
import { warning, info } from "ci-log"
|
import { execa, ExecaError } from "execa"
|
||||||
import which from "which"
|
import which from "which"
|
||||||
|
|
||||||
/* eslint-disable require-atomic-updates */
|
/* eslint-disable require-atomic-updates */
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
import { find, downloadTool, cacheDir } from "@actions/tool-cache"
|
import { cacheDir, downloadTool, find } from "@actions/tool-cache"
|
||||||
import { addPath } from "../env/addEnv"
|
|
||||||
import { join } from "patha"
|
|
||||||
import { info } from "ci-log"
|
import { info } from "ci-log"
|
||||||
|
import { join } from "patha"
|
||||||
|
import { addPath } from "../env/addEnv"
|
||||||
|
|
||||||
import { tmpdir } from "os"
|
|
||||||
import { GITHUB_ACTIONS } from "ci-info"
|
import { GITHUB_ACTIONS } from "ci-info"
|
||||||
import { setupAptPack } from "./setupAptPack"
|
import { tmpdir } from "os"
|
||||||
import { setupPacmanPack } from "./setupPacmanPack"
|
|
||||||
import { isArch } from "../env/isArch"
|
|
||||||
import { hasDnf } from "../env/hasDnf"
|
|
||||||
import { setupDnfPack } from "./setupDnfPack"
|
|
||||||
import { isUbuntu } from "../env/isUbuntu"
|
|
||||||
import { pathExists } from "path-exists"
|
import { pathExists } from "path-exists"
|
||||||
import retry from "retry-as-promised"
|
import retry from "retry-as-promised"
|
||||||
|
import { hasDnf } from "../env/hasDnf"
|
||||||
|
import { isArch } from "../env/isArch"
|
||||||
|
import { isUbuntu } from "../env/isUbuntu"
|
||||||
|
import { setupAptPack } from "./setupAptPack"
|
||||||
|
import { setupDnfPack } from "./setupDnfPack"
|
||||||
|
import { setupPacmanPack } from "./setupPacmanPack"
|
||||||
|
|
||||||
/** A type that describes a package */
|
/** A type that describes a package */
|
||||||
export type PackageInfo = {
|
export type PackageInfo = {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
/* eslint-disable require-atomic-updates */
|
/* eslint-disable require-atomic-updates */
|
||||||
import { addPath } from "../env/addEnv"
|
import { info } from "ci-log"
|
||||||
|
import { execaSync } from "execa"
|
||||||
import which from "which"
|
import which from "which"
|
||||||
import { setupChocolatey } from "../../chocolatey/chocolatey"
|
import { setupChocolatey } from "../../chocolatey/chocolatey"
|
||||||
|
import { addPath } from "../env/addEnv"
|
||||||
import { InstallationInfo } from "./setupBin"
|
import { InstallationInfo } from "./setupBin"
|
||||||
import { execaSync } from "execa"
|
|
||||||
import { info } from "ci-log"
|
|
||||||
|
|
||||||
let hasChoco = false
|
let hasChoco = false
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { InstallationInfo } from "./setupBin"
|
|
||||||
import { execRootSync } from "admina"
|
import { execRootSync } from "admina"
|
||||||
import { info, warning } from "ci-log"
|
import { info, warning } from "ci-log"
|
||||||
import { execa } from "execa"
|
import { execa } from "execa"
|
||||||
|
import { InstallationInfo } from "./setupBin"
|
||||||
|
|
||||||
type DnfPackage = {
|
type DnfPackage = {
|
||||||
name: string
|
name: string
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { InstallationInfo } from "./setupBin"
|
|
||||||
import { execRootSync } from "admina"
|
import { execRootSync } from "admina"
|
||||||
import { info, warning } from "ci-log"
|
import { info, warning } from "ci-log"
|
||||||
import { execa, execaSync } from "execa"
|
import { execa, execaSync } from "execa"
|
||||||
import which from "which"
|
import which from "which"
|
||||||
|
import { InstallationInfo } from "./setupBin"
|
||||||
|
|
||||||
/* eslint-disable require-atomic-updates */
|
/* eslint-disable require-atomic-updates */
|
||||||
let didUpdate: boolean = false
|
let didUpdate: boolean = false
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
import { info } from "@actions/core"
|
import { info } from "@actions/core"
|
||||||
import { execa, execaSync } from "execa"
|
import { execa, execaSync } from "execa"
|
||||||
|
import memoize from "micro-memoize"
|
||||||
|
import { mkdirp } from "mkdirp"
|
||||||
import { pathExists } from "path-exists"
|
import { pathExists } from "path-exists"
|
||||||
import { addExeExt, dirname, join } from "patha"
|
import { addExeExt, dirname, join } from "patha"
|
||||||
|
import { untildifyUser } from "untildify-user"
|
||||||
import which from "which"
|
import which from "which"
|
||||||
import { addPythonBaseExecPrefix, setupPython } from "../../python/python"
|
import { addPythonBaseExecPrefix, setupPython } from "../../python/python"
|
||||||
import { addPath } from "../env/addEnv"
|
|
||||||
import { InstallationInfo } from "./setupBin"
|
|
||||||
import { getVersion } from "../../versions/versions"
|
import { getVersion } from "../../versions/versions"
|
||||||
import { ubuntuVersion } from "../env/ubuntu_version"
|
import { addPath } from "../env/addEnv"
|
||||||
import memoize from "micro-memoize"
|
|
||||||
import { isArch } from "../env/isArch"
|
|
||||||
import { setupPacmanPack } from "./setupPacmanPack"
|
|
||||||
import { hasDnf } from "../env/hasDnf"
|
import { hasDnf } from "../env/hasDnf"
|
||||||
import { setupDnfPack } from "./setupDnfPack"
|
import { isArch } from "../env/isArch"
|
||||||
import { isUbuntu } from "../env/isUbuntu"
|
import { isUbuntu } from "../env/isUbuntu"
|
||||||
|
import { ubuntuVersion } from "../env/ubuntu_version"
|
||||||
import { setupAptPack } from "./setupAptPack"
|
import { setupAptPack } from "./setupAptPack"
|
||||||
import { untildifyUser } from "untildify-user"
|
import { InstallationInfo } from "./setupBin"
|
||||||
import { mkdirp } from "mkdirp"
|
import { setupDnfPack } from "./setupDnfPack"
|
||||||
|
import { setupPacmanPack } from "./setupPacmanPack"
|
||||||
|
|
||||||
export type SetupPipPackOptions = {
|
export type SetupPipPackOptions = {
|
||||||
/** Whether to use pipx instead of pip */
|
/** Whether to use pipx instead of pip */
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import { isUrlOnline } from "is-url-online"
|
|
||||||
import semverCompare from "semver/functions/compare"
|
|
||||||
import semverCoerce from "semver/functions/coerce"
|
|
||||||
import semverValid from "semver/functions/valid"
|
|
||||||
import { getExecOutput } from "@actions/exec"
|
import { getExecOutput } from "@actions/exec"
|
||||||
import { info } from "ci-log"
|
import { info } from "ci-log"
|
||||||
|
import { isUrlOnline } from "is-url-online"
|
||||||
|
import semverCoerce from "semver/functions/coerce"
|
||||||
|
import semverCompare from "semver/functions/compare"
|
||||||
|
import semverValid from "semver/functions/valid"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the specific versions supported by this action compatible with the supplied (specific or minimum) version in
|
* Gets the specific versions supported by this action compatible with the supplied (specific or minimum) version in
|
||||||
|
@ -56,9 +56,11 @@ export async function getSpecificVersionAndUrl(
|
||||||
// if the given set doesn't include the version, throw an error
|
// if the given set doesn't include the version, throw an error
|
||||||
if (!versions.has(version)) {
|
if (!versions.has(version)) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`Unsupported target! (platform='${platform}', version='${version}'). Try one of the following: ${JSON.stringify(
|
`Unsupported target! (platform='${platform}', version='${version}'). Try one of the following: ${
|
||||||
|
JSON.stringify(
|
||||||
versions,
|
versions,
|
||||||
)}`,
|
)
|
||||||
|
}`,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,9 +81,11 @@ export async function getSpecificVersionAndUrl(
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`Unsupported target! (platform='${platform}', version='${version}'). Try one of the following: ${JSON.stringify(
|
`Unsupported target! (platform='${platform}', version='${version}'). Try one of the following: ${
|
||||||
|
JSON.stringify(
|
||||||
versions,
|
versions,
|
||||||
)}`,
|
)
|
||||||
|
}`,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import * as io from "@actions/io"
|
import * as io from "@actions/io"
|
||||||
|
import spawn from "cross-spawn"
|
||||||
import { tmpdir } from "os"
|
import { tmpdir } from "os"
|
||||||
import * as path from "patha"
|
import * as path from "patha"
|
||||||
import { addExeExt, join } from "patha"
|
import { addExeExt, join } from "patha"
|
||||||
import spawn from "cross-spawn"
|
|
||||||
|
|
||||||
import { pathExists } from "path-exists"
|
import { pathExists } from "path-exists"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
import { setupTmpDir, testBin } from "../../utils/tests/test-helpers"
|
||||||
import { setupVcpkg } from "../vcpkg"
|
import { setupVcpkg } from "../vcpkg"
|
||||||
import { testBin, setupTmpDir } from "../../utils/tests/test-helpers"
|
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
async function testVcpkg(directory: string) {
|
async function testVcpkg(directory: string) {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { execaSync } from "execa"
|
import { grantUserWriteAccess } from "admina"
|
||||||
import { notice } from "ci-log"
|
import { notice } from "ci-log"
|
||||||
|
import { execaSync } from "execa"
|
||||||
import { pathExists } from "path-exists"
|
import { pathExists } from "path-exists"
|
||||||
import { addShExt, addShRelativePrefix, dirname, join } from "patha"
|
import { addShExt, addShRelativePrefix, dirname, join } from "patha"
|
||||||
import { grantUserWriteAccess } from "admina"
|
|
||||||
import which from "which"
|
import which from "which"
|
||||||
import { addPath } from "../utils/env/addEnv"
|
import { addPath } from "../utils/env/addEnv"
|
||||||
import { hasDnf } from "../utils/env/hasDnf"
|
import { hasDnf } from "../utils/env/hasDnf"
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import { setupMSVCDevCmd } from "msvc-dev-cmd/lib.js"
|
|
||||||
import { addEnv } from "../utils/env/addEnv"
|
|
||||||
import { info } from "ci-log"
|
import { info } from "ci-log"
|
||||||
|
import { setupMSVCDevCmd } from "msvc-dev-cmd/lib.js"
|
||||||
import { pathExists } from "path-exists"
|
import { pathExists } from "path-exists"
|
||||||
|
import { addEnv } from "../utils/env/addEnv"
|
||||||
|
|
||||||
function getArch(arch: string): string {
|
function getArch(arch: string): string {
|
||||||
switch (arch) {
|
switch (arch) {
|
||||||
|
|
Loading…
Reference in New Issue