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 .