name: CI # CI auto-trigger disabled per FN-1541 — workflow preserved for manual use via workflow_dispatch on: workflow_dispatch: jobs: lint: name: Lint runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install pnpm uses: pnpm/action-setup@v4 - name: Setup Node.js uses: actions/setup-node@v5 with: node-version: "24" cache: pnpm - name: Install dependencies run: pnpm install --frozen-lockfile - name: Lint run: pnpm lint test-shards: name: Test shard ${{ matrix.shard }}/3 runs-on: ubuntu-latest strategy: fail-fast: false matrix: shard: [1, 2, 3] steps: - name: Checkout uses: actions/checkout@v4 - name: Install pnpm uses: pnpm/action-setup@v4 - name: Setup Node.js uses: actions/setup-node@v5 with: node-version: "24" cache: pnpm - name: Install dependencies run: pnpm install --frozen-lockfile - name: Install Bun uses: oven-sh/setup-bun@v2 - name: Test (deterministic shard) run: pnpm test:ci:shard --shard ${{ matrix.shard }} --total 3 build: name: Build runs-on: ubuntu-latest needs: [lint, test-shards] steps: - name: Checkout uses: actions/checkout@v4 - name: Install pnpm uses: pnpm/action-setup@v4 - name: Setup Node.js uses: actions/setup-node@v5 with: node-version: "24" cache: pnpm - name: Install dependencies run: pnpm install --frozen-lockfile - name: Build workspace run: pnpm build - name: Install Bun uses: oven-sh/setup-bun@v2 - name: Run CLI slow lane (opt-in suites) run: pnpm test:slow-cli - name: Build standalone binary run: pnpm --filter @runfusion/fusion build:exe - name: Verify binary exists run: test -f packages/cli/dist/fn