setup-node never consults `node` on PATH; its only fast path is a probe of /opt/hostedtoolcache, which the ephemeral act_runner job containers always miss, so every job paid a ~50 MB Node download. docker/Dockerfile extends the runner's default catthehacker/act image with the Node distribution overlaid at the exact tool-cache layout, so setup-node finds 26.8.2 and skips the fetch while node-version-file, cache: npm and registry-url keep working unchanged. Image layers dedupe against the base the host already pulled and prune via normal docker hygiene — the cleanup story a host bind of /opt/hostedtoolcache lacks. To make the bake deterministic, .node-version is pinned to the exact 26.8.2 the image carries; scripts/runner-image.sh guards that coupling and builds/pushes the tag the three node jobs now reference via container.image. Ops follow-up (outside the repo): build once with `npm run build:runner-image -- --push` on a machine with registry creds. If the package is private, the runner needs container registry credentials in its config.
47 lines
895 B
JSON
47 lines
895 B
JSON
{
|
|
"version": "0.2",
|
|
"language": "en",
|
|
"words": [
|
|
"lefthook",
|
|
"oxlint",
|
|
"oxfmt",
|
|
"oxc",
|
|
"nodenext",
|
|
"oxfmtrc",
|
|
"oxlintrc",
|
|
"EDITMSG",
|
|
"typescriptteam",
|
|
"gitmoji",
|
|
"dbaeumer",
|
|
"msvc",
|
|
"publint",
|
|
"attw",
|
|
"arethetypeswrong",
|
|
"knip",
|
|
"tsgolint",
|
|
"tsgo",
|
|
"tsserver",
|
|
"gitea",
|
|
"lipanski",
|
|
"pubv",
|
|
"knope",
|
|
"runwisp",
|
|
"glab",
|
|
"hostedtoolcache",
|
|
"catthehacker",
|
|
"nsnull",
|
|
"dedup",
|
|
"dedupe",
|
|
"repoint",
|
|
"postversion",
|
|
"prebuild",
|
|
"Zilla",
|
|
"kacl",
|
|
"bestikk",
|
|
"silverwind",
|
|
"idris",
|
|
"todotasks"
|
|
],
|
|
"ignorePaths": ["dist", "node_modules", "coverage", "*.svg", ".gitignore"]
|
|
}
|