Repository navigation
Expand file tree
/
Copy pathappveyor.yml
More file actions
46 lines (39 loc) · 1.88 KB
/
Copy pathappveyor.yml
File metadata and controls
46 lines (39 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
version: "{build}"
# AppVeyor is the Windows CI (Actions covers Linux on Bun + Node). The repo
# ships bun.lock, not package-lock.json, so `npm ci` is unusable here -> use
# `npm install`, matching the Actions unit-node job. Same gate as Actions:
# typecheck, then the Node (tsx) unit runner.
#
# `--ignore-scripts`: this job runs node-only (tsc + the tsx unit runner) and
# never invokes bun, but `bun` is a devDependency whose postinstall downloads a
# platform binary and hard-fails on Windows (no @oven/bun-windows-x64-baseline),
# which would abort the whole install. Skipping lifecycle scripts sidesteps it;
# tsx/esbuild still work because esbuild resolves its native binary from an
# optionalDependency package (@esbuild/win32-x64), not from its postinstall.
# Node 21+ only: `test:node:unit` passes the `test/unit/*.test.ts` glob to
# `node --test`, which Windows shells do not expand and Node only globs itself
# since v21. Node 20 would receive the literal pattern and find no tests.
#
# Single Node version, deliberately no matrix: this job exists for Windows
# coverage only - the Node version matrix (22/24/26) is Actions' job. The free
# AppVeyor plan runs 1 concurrent job, so a matrix serializes (each entry pays
# its own VM provision on top of the shared queue wait) and roughly triples the
# wall-clock for zero extra signal. Keep one LTS line.
#
# `image`: the default AppVeyor image is Windows Server 2012 R2, on which Node 24
# refuses to run ("supported on Windows 10 / Server 2016 or higher"). Pin the
# Visual Studio 2022 image (Server 2022) so the modern Node line installs.
image: Visual Studio 2022
environment:
nodejs_version: "24"
platform: x64
clone_depth: 1
install:
- ps: Install-Product node $env:nodejs_version x64
- node --version
- npm --version
- npm install --no-audit --no-fund --ignore-scripts
test_script:
- npm run typecheck
- npm run test:node:unit
build: off