Skip to content

Commit

Permalink
Merge pull request #192 from aminya/windows [skip ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
aminya authored Sep 1, 2023
2 parents 7c677b6 + 62674fb commit 3ef62e7
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 51 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,8 @@ jobs:
- name: Tests
run: |
pnpm run test
env:
RUNNER_OS_NAME: ${{ matrix.os }}

- name: Setup Node 12
uses: actions/setup-node@v3
Expand Down
71 changes: 20 additions & 51 deletions src/msvc/__tests__/msvc.test.ts
Original file line number Diff line number Diff line change
@@ -1,70 +1,39 @@
import which from "which"
import { setupMSVC } from "../msvc"
import { runnerWindowsVersion } from "../../utils/tests/test-helpers"
import { warning } from "ci-log"

jest.setTimeout(300000)
describe("setup-msvc", () => {
const isWindows = process.platform === "win32"

it("should setup the pre-installed msvc", async () => {
try {
if (process.platform !== "win32") {
if (!isWindows) {
return
}
await setupMSVC("", "", process.arch)
console.log(which.sync("cl"))
} catch (e) {
// TODO
console.error(e)
}
})

it("should setup msvc 2022", async () => {
try {
if (process.platform !== "win32") {
return
}
await setupMSVC("2022", "", process.arch)
console.log(which.sync("cl"))
} catch (e) {
// TODO
console.error(e)
}
})

it("should setup msvc 2019", async () => {
try {
if (process.platform !== "win32") {
return
} catch (err) {
if ("toString" in (err as any)) {
warning((err as any).toString())
}
await setupMSVC("2019", "", process.arch)
console.log(which.sync("cl"))
} catch (e) {
// TODO
console.error(e)
}
})

it("should setup msvc 2017", async () => {
try {
if (process.platform !== "win32") {
for (const version of [2022, 2019, 2017, 2015]) {
it(`should setup msvc ${version}`, async () => {
if (!isWindows || (runnerWindowsVersion() !== undefined && runnerWindowsVersion()! > version)) {
return
}
await setupMSVC("2017", "", process.arch)
console.log(which.sync("cl"))
} catch (e) {
// TODO
console.error(e)
}
})

it("should setup msvc 2015", async () => {
try {
if (process.platform !== "win32") {
return
try {
await setupMSVC(`${version}`, "", process.arch)
console.log(which.sync("cl"))
} catch (err) {
if ("toString" in (err as any)) {
warning((err as any).toString())
}
}
await setupMSVC("2015", "", process.arch)
console.log(which.sync("cl"))
} catch (e) {
// TODO
console.error(e)
}
})
})
}
})
12 changes: 12 additions & 0 deletions src/utils/tests/test-helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,15 @@ export async function testBin(
throw new Error(`Failed to test bin ${name}: ${err}`)
}
}

export function runnerWindowsVersion() {
if (process.platform !== "win32") {
return undefined
}
const maybeVersionString = process.env.RUNNER_OS_NAME?.split("-")[1]
if (maybeVersionString === undefined) {
return undefined
}

return parseInt(maybeVersionString, 10)
}

0 comments on commit 3ef62e7

Please sign in to comment.