mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-13 00:19:03 +02:00
'Fix bun temp' x3, 'Restore deps' x5, 'Seed claude interactive config' x3, and 'Register gstack skills' x3 were byte-near-identical copies across the legacy matrix, the sliced lane, and the periodic lane — and only the MATRIX copy of register-skills carried the 19-line dangling-symlink + frontmatter fail-fast loop written after a silent 'Unknown command' + 35-min-timeout incident. Extract all four into .github/actions/ composites; the register composite carries the verification loop (generalized over the skill list), so the sliced and periodic lanes — the lanes that SURVIVE the matrix deletion — now inherit the check they had silently dropped. Matrix-job inline copies are left untouched: that job is deleted next. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
20 lines
806 B
YAML
20 lines
806 B
YAML
name: Restore deps
|
|
description: >
|
|
Restore the CI image's pre-installed node_modules via recursive copy, or
|
|
fall back to bun install when the lockfile changed. Symlinking breaks bun's
|
|
realpath-based module resolution (realpath escapes the workspace and
|
|
sibling deps stop resolving); hardlink copy fails across overlay-fs layers
|
|
("Invalid cross-device link"). Recursive copy costs ~5s for ~200 packages —
|
|
still far cheaper than a network install. Extracted from five byte-similar
|
|
copies across the eval lanes.
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- shell: bash
|
|
run: |
|
|
if [ -d /opt/node_modules_cache ] && diff -q /opt/node_modules_cache/.bun.lock bun.lock >/dev/null 2>&1; then
|
|
cp -r /opt/node_modules_cache node_modules
|
|
else
|
|
bun install
|
|
fi
|