Files
fusion/.github/workflows/ci.yml
Fusion 0793422581 feat(FN-4100): refactor ci workflows to use reusable setup-node-pnpm compos
Refactors GitHub Actions workflow setup into a reusable composite action, consolidating repeated setup logic across CI, mobile, release, test-release, and version workflows (176 lines removed). Adds corresponding tests for the workflow configuration.

Fusion-Task-Id: FN-4100
2026-05-12 17:04:33 -07:00

60 lines
1.3 KiB
YAML

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: Setup Node and install dependencies
uses: ./.github/actions/setup-node-pnpm
- 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: Setup Node and install dependencies
uses: ./.github/actions/setup-node-pnpm
- 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: Setup Node and install dependencies
uses: ./.github/actions/setup-node-pnpm
- 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