Skip to content

fix: token-goat statusline project extraction on non-Windows CI runners #534

fix: token-goat statusline project extraction on non-Windows CI runners

fix: token-goat statusline project extraction on non-Windows CI runners #534

Workflow file for this run

name: CI
on: [push, pull_request]
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- run: npm ci
- name: Lint
run: npm run lint
- name: Type check
run: npm run typecheck
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- run: npm ci
- name: Cache embedding model
uses: actions/cache@v4
with:
path: node_modules/@xenova/transformers/.cache
key: xenova-model-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
# Retries absorb two known non-code causes of an otherwise-green run failing here: a
# transient Hugging Face CDN block/rate-limit on the embedding model download (the app
# itself now retries+backs off internally too, but a sustained outage outlasts that), and
# a shared-runner "[vitest-worker]: Timeout calling 'onTaskUpdate'" RPC flake with zero
# assertion failures anywhere in the run (vitest.config.ts's CI-only retry also covers
# per-test instances of this). A real regression fails deterministically and still fails
# after 3 attempts.
- name: Test
uses: nick-fields/retry@v3
with:
timeout_minutes: 15
max_attempts: 3
retry_wait_seconds: 30
command: npm test
test-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- run: npm ci
- name: Cache embedding model
uses: actions/cache@v4
with:
path: node_modules/@xenova/transformers/.cache
key: xenova-model-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
- name: Test
uses: nick-fields/retry@v3
with:
timeout_minutes: 15
max_attempts: 3
retry_wait_seconds: 30
command: npm test