fable-agent/.github/workflows/ci.yml

60 lines
1.1 KiB
YAML

name: CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
workflow_dispatch:
jobs:
build-test:
name: Build, test, and docs parity
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: [20, 22]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: npm
- name: Install dependencies
run: npm ci
- name: Build
run: npm run -s build
- name: Test
run: npm run -s test
- name: Docs parity
run: npm run -s docs:check
- name: CLI smoke check
run: |
node dist/index.js --help
node dist/index.js plinius --help
- name: Type check
run: npx tsc --noEmit
docker:
name: Docker image
runs-on: ubuntu-latest
needs: build-test
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build Docker image
run: docker build -t fable-agent .