mirror of https://github.com/aminya/setup-cpp
Merge pull request #194 from aminya/update [skip ci]
This commit is contained in:
commit
a18ed2e34d
|
@ -3,6 +3,7 @@
|
||||||
"ignorePatterns": ["dist/", "node_modules/", "dev/cpp_vcpkg_project"],
|
"ignorePatterns": ["dist/", "node_modules/", "dev/cpp_vcpkg_project"],
|
||||||
"rules": {
|
"rules": {
|
||||||
"no-unused-vars": "off",
|
"no-unused-vars": "off",
|
||||||
|
"no-empty-function": "off",
|
||||||
"@typescript-eslint/no-unused-vars": [
|
"@typescript-eslint/no-unused-vars": [
|
||||||
"warn",
|
"warn",
|
||||||
{
|
{
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -54,7 +54,7 @@
|
||||||
"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.prettier 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.prettier": "prettier . --check",
|
||||||
"test": "jest",
|
"test": "jest --runInBand --forceExit --coverage",
|
||||||
"build.docker_tests": "node ./dev/docker/__tests__/generate-docker-tests.mjs",
|
"build.docker_tests": "node ./dev/docker/__tests__/generate-docker-tests.mjs",
|
||||||
"build.docker.arch": "pnpm build.docker_tests && docker build -f ./dev/docker/__tests__/arch.dockerfile -t setup-cpp:arch .",
|
"build.docker.arch": "pnpm build.docker_tests && docker build -f ./dev/docker/__tests__/arch.dockerfile -t setup-cpp:arch .",
|
||||||
"build.docker.fedora": "pnpm build.docker_tests && docker build -f ./dev/docker/__tests__/fedora.dockerfile -t setup-cpp:fedora .",
|
"build.docker.fedora": "pnpm build.docker_tests && docker build -f ./dev/docker/__tests__/fedora.dockerfile -t setup-cpp:fedora .",
|
||||||
|
|
|
@ -55,18 +55,18 @@ describe("getVersion", () => {
|
||||||
it("gcovr", () => {
|
it("gcovr", () => {
|
||||||
expect(getVersion("gcovr", "5.0")).toBe("5.0")
|
expect(getVersion("gcovr", "5.0")).toBe("5.0")
|
||||||
if (process.platform === "linux") {
|
if (process.platform === "linux") {
|
||||||
expect(getVersion("gcovr", "true", [22, 4])).toBe("5.2")
|
expect(getVersion("gcovr", "true", [22, 4])).toBe(DefaultLinuxVersion.gcovr![22])
|
||||||
expect(getVersion("gcovr", "true", [20, 4])).toBe("5.2")
|
expect(getVersion("gcovr", "true", [20, 4])).toBe(DefaultLinuxVersion.gcovr![20])
|
||||||
expect(getVersion("gcovr", "true", [18, 4])).toBe("5.0")
|
expect(getVersion("gcovr", "true", [18, 4])).toBe(DefaultLinuxVersion.gcovr![18])
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
it("llvm", () => {
|
it("llvm", () => {
|
||||||
expect(getVersion("llvm", "13.0.0")).toBe("13.0.0")
|
expect(getVersion("llvm", "13.0.0")).toBe("13.0.0")
|
||||||
if (process.platform === "linux") {
|
if (process.platform === "linux") {
|
||||||
expect(getVersion("llvm", "true", [20, 4])).toBe(DefaultLinuxVersion["llvm"]![20])
|
expect(getVersion("llvm", "true", [20, 4])).toBe(DefaultLinuxVersion.llvm![20])
|
||||||
expect(getVersion("llvm", "true", [18, 4])).toBe(DefaultLinuxVersion["llvm"]![18])
|
expect(getVersion("llvm", "true", [18, 4])).toBe(DefaultLinuxVersion.llvm![18])
|
||||||
expect(getVersion("llvm", "true", [16, 4])).toBe(DefaultLinuxVersion["llvm"]![16])
|
expect(getVersion("llvm", "true", [16, 4])).toBe(DefaultLinuxVersion.llvm![16])
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -3,10 +3,11 @@ import { testBin } from "../../utils/tests/test-helpers"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-brew", () => {
|
describe("setup-brew", () => {
|
||||||
it("should setup brew", async () => {
|
if (process.platform === "win32") {
|
||||||
if (process.platform !== "darwin") {
|
it.skip("should setup brew", () => {})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
it("should setup brew", async () => {
|
||||||
const installInfo = await setupBrew("", "", process.arch)
|
const installInfo = await setupBrew("", "", process.arch)
|
||||||
await testBin("brew", ["--version"], installInfo?.binDir)
|
await testBin("brew", ["--version"], installInfo?.binDir)
|
||||||
})
|
})
|
||||||
|
|
|
@ -4,10 +4,11 @@ import { setupChocolatey } from "../chocolatey"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-chocolatey", () => {
|
describe("setup-chocolatey", () => {
|
||||||
it("should setup chocolatey", async () => {
|
|
||||||
if (process.platform !== "win32") {
|
if (process.platform !== "win32") {
|
||||||
|
it.skip("should setup chocolatey", () => {})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
it("should setup chocolatey", async () => {
|
||||||
const { binDir } = (await setupChocolatey("", "", process.arch)) as InstallationInfo
|
const { binDir } = (await setupChocolatey("", "", process.arch)) as InstallationInfo
|
||||||
await testBin("choco", ["--version"], binDir)
|
await testBin("choco", ["--version"], binDir)
|
||||||
})
|
})
|
||||||
|
|
|
@ -26,7 +26,10 @@ interface MingwInfo {
|
||||||
|
|
||||||
// https://github.com/brechtsanders/winlibs_mingw/releases
|
// https://github.com/brechtsanders/winlibs_mingw/releases
|
||||||
const GccToMingwInfo = {
|
const GccToMingwInfo = {
|
||||||
"13": { releaseName: "13.1.0posix-16.0.3-11.0.0-ucrt-r1", fileSuffix: "13.1.0-mingw-w64ucrt-11.0.0-r1" },
|
"13": { releaseName: "13.2.0-16.0.6-11.0.0-ucrt-r1", fileSuffix: "13.2.0-mingw-w64ucrt-11.0.0-r1" },
|
||||||
|
"13.2-ucrt": { releaseName: "13.2.0-16.0.6-11.0.0-ucrt-r1", fileSuffix: "13.2.0-mingw-w64ucrt-11.0.0-r1" },
|
||||||
|
"13.2-ucrt-mcf": { releaseName: "13.2.0mcf-16.0.6-11.0.1-ucrt-r2", fileSuffix: "13.2.0-mingw-w64ucrt-11.0.1-r2" },
|
||||||
|
"13.2-msvcrt": { releaseName: "13.2.0-16.0.6-11.0.1-msvcrt-r1", fileSuffix: "13.2.0-mingw-w64msvcrt-11.0.1-r1" },
|
||||||
"13.1-ucrt": { releaseName: "13.1.0posix-16.0.3-11.0.0-ucrt-r1", fileSuffix: "13.1.0-mingw-w64ucrt-11.0.0-r1" },
|
"13.1-ucrt": { releaseName: "13.1.0posix-16.0.3-11.0.0-ucrt-r1", fileSuffix: "13.1.0-mingw-w64ucrt-11.0.0-r1" },
|
||||||
"13.1-msvcrt": { releaseName: "13.1.0posix-16.0.3-11.0.0-msvcrt-r1", fileSuffix: "13.1.0-mingw-w64msvcrt-11.0.0-r1" },
|
"13.1-msvcrt": { releaseName: "13.1.0posix-16.0.3-11.0.0-msvcrt-r1", fileSuffix: "13.1.0-mingw-w64msvcrt-11.0.0-r1" },
|
||||||
"12": { releaseName: "12.3.0-16.0.4-11.0.0-ucrt-r1", fileSuffix: "12.3.0-mingw-w64ucrt-11.0.0-r1" },
|
"12": { releaseName: "12.3.0-16.0.4-11.0.0-ucrt-r1", fileSuffix: "12.3.0-mingw-w64ucrt-11.0.0-r1" },
|
||||||
|
@ -44,7 +47,8 @@ const GccToMingwInfo = {
|
||||||
"11.3.0-msvcrt": { releaseName: "11.3.0-14.0.3-10.0.0-msvcrt-r3", fileSuffix: "11.3.0-mingw-w64msvcrt-10.0.0-r3" },
|
"11.3.0-msvcrt": { releaseName: "11.3.0-14.0.3-10.0.0-msvcrt-r3", fileSuffix: "11.3.0-mingw-w64msvcrt-10.0.0-r3" },
|
||||||
"11.2.0-ucrt": { releaseName: "11.2.0-9.0.0-ucrt-r5", fileSuffix: "11.2.0-mingw-w64ucrt-9.0.0-r5" },
|
"11.2.0-ucrt": { releaseName: "11.2.0-9.0.0-ucrt-r5", fileSuffix: "11.2.0-mingw-w64ucrt-9.0.0-r5" },
|
||||||
"11.2.0-msvcrt": { releaseName: "11.2.0-9.0.0-msvcrt-r5", fileSuffix: "11.2.0-mingw-w64msvcrt-9.0.0-r5" },
|
"11.2.0-msvcrt": { releaseName: "11.2.0-9.0.0-msvcrt-r5", fileSuffix: "11.2.0-mingw-w64msvcrt-9.0.0-r5" },
|
||||||
"10": { releaseName: "10.3.0-12.0.0-9.0.0-r2", fileSuffix: "10.3.0-llvm-12.0.0-mingw-w64-9.0.0-r2" },
|
"10": { releaseName: "10.5.0-11.0.1-msvcrt-r1", fileSuffix: "10.5.0-mingw-w64msvcrt-11.0.1-r1" },
|
||||||
|
"10.5.0-msvcrt": { releaseName: "10.5.0-11.0.1-msvcrt-r1", fileSuffix: "10.5.0-mingw-w64msvcrt-11.0.1-r1" },
|
||||||
"10.3.0": { releaseName: "10.3.0-12.0.0-9.0.0-r2", fileSuffix: "10.3.0-llvm-12.0.0-mingw-w64-9.0.0-r2" },
|
"10.3.0": { releaseName: "10.3.0-12.0.0-9.0.0-r2", fileSuffix: "10.3.0-llvm-12.0.0-mingw-w64-9.0.0-r2" },
|
||||||
"10.2.0": { releaseName: "10.2.0-7.0.0-r4", fileSuffix: "10.2.0-llvm-10.0.1-mingw-w64-7.0.0-r4" },
|
"10.2.0": { releaseName: "10.2.0-7.0.0-r4", fileSuffix: "10.2.0-llvm-10.0.1-mingw-w64-7.0.0-r4" },
|
||||||
"9": { releaseName: "9.4.0-9.0.0-r1", fileSuffix: "9.4.0-mingw-w64-9.0.0-r1" },
|
"9": { releaseName: "9.4.0-9.0.0-r1", fileSuffix: "9.4.0-mingw-w64-9.0.0-r1" },
|
||||||
|
|
|
@ -2,12 +2,14 @@ import { setupMacOSSDK } from "../macos-sdk"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-macos-sdk", () => {
|
describe("setup-macos-sdk", () => {
|
||||||
|
if (process.platform !== "darwin") {
|
||||||
|
it.skip("should setup macos-sdk", () => {})
|
||||||
|
return
|
||||||
|
}
|
||||||
it("should setup macos-sdk", async () => {
|
it("should setup macos-sdk", async () => {
|
||||||
if (process.platform === "darwin") {
|
|
||||||
process.env.SDKROOT = undefined
|
process.env.SDKROOT = undefined
|
||||||
await setupMacOSSDK()
|
await setupMacOSSDK()
|
||||||
expect(process.env.SDKROOT).toBeTruthy()
|
expect(process.env.SDKROOT).toBeTruthy()
|
||||||
expect(typeof process.env.SDKROOT).toBe("string")
|
expect(typeof process.env.SDKROOT).toBe("string")
|
||||||
}
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -5,13 +5,12 @@ import { warning } from "ci-log"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-msvc", () => {
|
describe("setup-msvc", () => {
|
||||||
const isWindows = process.platform === "win32"
|
if (process.platform !== "win32") {
|
||||||
|
it.skip("should setup msvc", () => {})
|
||||||
it("should setup the pre-installed msvc", async () => {
|
|
||||||
try {
|
|
||||||
if (!isWindows) {
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
it("should setup the pre-installed msvc", async () => {
|
||||||
|
try {
|
||||||
await setupMSVC("", "", process.arch)
|
await setupMSVC("", "", process.arch)
|
||||||
console.log(which.sync("cl"))
|
console.log(which.sync("cl"))
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
@ -22,10 +21,11 @@ describe("setup-msvc", () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
for (const version of [2022, 2019, 2017, 2015]) {
|
for (const version of [2022, 2019, 2017, 2015]) {
|
||||||
it(`should setup msvc ${version}`, async () => {
|
if (runnerWindowsVersion() !== undefined && runnerWindowsVersion()! > version) {
|
||||||
if (!isWindows || (runnerWindowsVersion() !== undefined && runnerWindowsVersion()! > version)) {
|
it.skip(`should setup msvc ${version}`, () => {})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
it(`should setup msvc ${version}`, async () => {
|
||||||
try {
|
try {
|
||||||
await setupMSVC(`${version}`, "", process.arch)
|
await setupMSVC(`${version}`, "", process.arch)
|
||||||
console.log(which.sync("cl"))
|
console.log(which.sync("cl"))
|
||||||
|
|
|
@ -1,14 +1,22 @@
|
||||||
import { setupNala } from "../nala"
|
import { setupNala } from "../nala"
|
||||||
import { testBin } from "../../utils/tests/test-helpers"
|
import { testBin } from "../../utils/tests/test-helpers"
|
||||||
import { isUbuntu } from "../../utils/env/isUbuntu"
|
import { isUbuntu } from "../../utils/env/isUbuntu"
|
||||||
|
import { execRootSync } from "admina"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-nala", () => {
|
describe("setup-nala", () => {
|
||||||
it("should setup nala", async () => {
|
|
||||||
if (!isUbuntu()) {
|
if (!isUbuntu()) {
|
||||||
|
test.skip("should setup nala", () => {})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
it("should setup nala", async () => {
|
||||||
const installInfo = await setupNala("", "", process.arch)
|
const installInfo = await setupNala("", "", process.arch)
|
||||||
await testBin("nala", ["--version"], installInfo?.binDir)
|
await testBin("nala", ["--version"], installInfo?.binDir)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
afterAll(() => {
|
||||||
|
// remove nala to run the rest of the tests with apt-get
|
||||||
|
execRootSync("apt-get", ["remove", "-y", "nala"])
|
||||||
|
execRootSync("apt-get", ["remove", "-y", "nala-legacy"])
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -3,10 +3,11 @@ import { testBin } from "../../utils/tests/test-helpers"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-OpenCppCoverage", () => {
|
describe("setup-OpenCppCoverage", () => {
|
||||||
it("should setup OpenCppCoverage", async () => {
|
|
||||||
if (process.platform !== "win32") {
|
if (process.platform !== "win32") {
|
||||||
|
it.skip("should setup OpenCppCoverage", () => {})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
it("should setup OpenCppCoverage", async () => {
|
||||||
const installationInfo = await setupOpencppcoverage("", "", process.arch)
|
const installationInfo = await setupOpencppcoverage("", "", process.arch)
|
||||||
|
|
||||||
await testBin("OpenCppCoverage", null, installationInfo?.binDir) // OpenCppCoverage exits with non-zero even with --help
|
await testBin("OpenCppCoverage", null, installationInfo?.binDir) // OpenCppCoverage exits with non-zero even with --help
|
||||||
|
|
|
@ -22,14 +22,14 @@ export const DefaultVersions: Record<string, string | undefined> = {
|
||||||
clangtidy: getLLVMDefault(),
|
clangtidy: getLLVMDefault(),
|
||||||
clangformat: getLLVMDefault(),
|
clangformat: getLLVMDefault(),
|
||||||
ninja: "1.11.1", // https://github.com/ninja-build/ninja/releases
|
ninja: "1.11.1", // https://github.com/ninja-build/ninja/releases
|
||||||
cmake: "3.26.4", // https://github.com/Kitware/CMake/releases
|
cmake: "3.27.4", // https://github.com/Kitware/CMake/releases
|
||||||
gcovr: "5.2", // https://pypi.org/project/gcovr/
|
gcovr: "6.0", // https://pypi.org/project/gcovr/
|
||||||
conan: "1.60.0", // https://github.com/conan-io/conan/releases
|
conan: "1.60.2", // https://github.com/conan-io/conan/releases
|
||||||
meson: "1.0.2", // https://github.com/mesonbuild/meson/releases
|
meson: "1.2.1", // https://github.com/mesonbuild/meson/releases
|
||||||
kcov: "41", // https://github.com/SimonKagstrom/kcov/releases
|
kcov: "42", // https://github.com/SimonKagstrom/kcov/releases
|
||||||
task: "3.25.0", // https://github.com/go-task/task/releases
|
task: "3.29.1", // https://github.com/go-task/task/releases
|
||||||
doxygen: isArch() ? "1.9.6-1" : "1.9.7", // https://www.doxygen.nl/download.html // https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=doxygen // https://formulae.brew.sh/formula/doxygen // https://archlinux.org/packages/extra/x86_64/doxygen/
|
doxygen: isArch() ? "1.9.8-1" : "1.9.8", // https://www.doxygen.nl/download.html // https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=doxygen // https://formulae.brew.sh/formula/doxygen // https://archlinux.org/packages/extra/x86_64/doxygen/
|
||||||
gcc: isArch() ? "13.1.1-1" : "13", // https://github.com/brechtsanders/winlibs_mingw/releases and // https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=gcc
|
gcc: isArch() ? "13.2.1-3" : "13", // https://github.com/brechtsanders/winlibs_mingw/releases and // https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=gcc
|
||||||
//mingw: isArch() ? "12.2.0-1" : "8", // https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=mingw-w64 // https://archlinux.org/packages/extra/x86_64/mingw-w64-gcc/
|
//mingw: isArch() ? "12.2.0-1" : "8", // https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=mingw-w64 // https://archlinux.org/packages/extra/x86_64/mingw-w64-gcc/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,8 +75,8 @@ export const DefaultLinuxVersion: Record<string, Record<number, string> | undefi
|
||||||
14: "13.0.0-ubuntu-16.04",
|
14: "13.0.0-ubuntu-16.04",
|
||||||
},
|
},
|
||||||
gcovr: {
|
gcovr: {
|
||||||
22: "5.2",
|
22: "6.0",
|
||||||
20: "5.2",
|
20: "6.0",
|
||||||
18: "5.0",
|
18: "5.0",
|
||||||
},
|
},
|
||||||
meson: {
|
meson: {
|
||||||
|
@ -92,7 +92,7 @@ export const DefaultLinuxVersion: Record<string, Record<number, string> | undefi
|
||||||
14: "legacy",
|
14: "legacy",
|
||||||
},
|
},
|
||||||
kcov: {
|
kcov: {
|
||||||
22: "40",
|
22: "42-binary",
|
||||||
20: "40-binary", // https://github.com/SimonKagstrom/kcov/releases
|
20: "40-binary", // https://github.com/SimonKagstrom/kcov/releases
|
||||||
18: "40",
|
18: "40",
|
||||||
16: "40",
|
16: "40",
|
||||||
|
|
Loading…
Reference in New Issue