feat: callFable — feature-gate Fable as a worker (off by default) #60
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| paths-ignore: | |
| # skip verify/test only for NON-shipped docs — a SHIPPED markdown artifact (skills/**/SKILL.md, commands/*.md) MUST run CI (verify checks dist-sync) | |
| - 'README.md' | |
| - 'CHANGELOG.md' | |
| - 'CONTRIBUTING.md' | |
| - 'PRIVACY.md' | |
| - 'SECURITY.md' | |
| - 'LICENSE' | |
| pull_request: | |
| branches: [main] | |
| paths-ignore: | |
| # skip verify/test only for NON-shipped docs — a SHIPPED markdown artifact (skills/**/SKILL.md, commands/*.md) MUST run CI (verify checks dist-sync) | |
| - 'README.md' | |
| - 'CHANGELOG.md' | |
| - 'CONTRIBUTING.md' | |
| - 'PRIVACY.md' | |
| - 'SECURITY.md' | |
| - 'LICENSE' | |
| permissions: | |
| contents: read | |
| jobs: | |
| gate: | |
| name: gate (${{ matrix.os }} · node ${{ matrix.node }}) | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| node: [22, 24] # supported LTS only (24 Active, 22 Maintenance); 18/20 are EOL — bump as the Node LTS schedule moves | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| # Zero-dependency: no install step. Run the same fail-loud gate as a local pre-push, | |
| # cross-platform — verify (dist-sync + repo consistency checks) then the test suite. | |
| # No build step here: rebuilding the dist in CI would mask a stale COMMITTED | |
| # plugin/ — the exact drift verify exists to catch. | |
| - run: node scripts/verify.mjs | |
| - run: node scripts/test.mjs |