Adds a test block covering authentication and ownership validation for node-settings sync routes, ensuring the API enforces proper authorization before settings or credentials are exchanged between nodes. Fusion-Task-Id: FN-4862
70 lines
1.6 KiB
YAML
70 lines
1.6 KiB
YAML
name: CI
|
|
|
|
# CI auto-trigger disabled per FN-1541 — workflow preserved for manual use via workflow_dispatch
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
# FN-4863: Opt JavaScript actions into Node 24 ahead of GitHub's forced cutover on 2026-06-02.
|
|
env:
|
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
|
|
|
|
jobs:
|
|
lint:
|
|
name: Lint
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- 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: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Node and install dependencies
|
|
uses: ./.github/actions/setup-node-pnpm
|
|
|
|
- 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: Setup Node and install dependencies
|
|
uses: ./.github/actions/setup-node-pnpm
|
|
|
|
- name: Install Bun
|
|
uses: oven-sh/setup-bun@v2
|
|
|
|
- name: Build workspace
|
|
run: pnpm build
|
|
|
|
- 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
|