mirror of
https://github.com/tiennm99/ccs.git
synced 2026-07-16 20:17:45 +00:00
Root cause: Bun's test runner fails to resolve exports from directory index.ts files during parallel test execution. The api-command/index.ts imports 8 subcommand modules — if any fail to load during concurrent test runs, the entire module fails with "Export not found." Fix: extract createApiCommandHandler into handler.ts (lightweight, only imports named-command-router). Test imports from handler.ts directly, bypassing the heavy index.ts that loads all subcommand modules. Also: - Remove stale api-command.ts barrel file - Use explicit /index import paths in source - Migrate CI validate to self-hosted runner with clean artifact step - Disable Bun cache (no-cache: true) on self-hosted runner
39 lines
807 B
YAML
39 lines
807 B
YAML
name: CI
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [main, dev]
|
|
|
|
jobs:
|
|
validate:
|
|
runs-on: [self-hosted, linux, x64]
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Clean stale artifacts
|
|
run: rm -rf node_modules ui/node_modules dist
|
|
|
|
- name: Setup Bun
|
|
uses: oven-sh/setup-bun@v2
|
|
with:
|
|
bun-version: '1.3.9'
|
|
no-cache: true
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '22'
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
bun install --frozen-lockfile
|
|
cd ui && bun install --frozen-lockfile
|
|
|
|
- name: Build package
|
|
run: bun run build:all
|
|
|
|
- name: Validate (typecheck + lint + format + tests)
|
|
run: bun run validate
|