feat: add Kilo, Windsurf, and Gemini CLI adapters #75
Workflow file for this run
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: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| quality-unix: | |
| name: quality-${{ matrix.platform }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - platform: ubuntu | |
| os: ubuntu-latest | |
| - platform: macos | |
| os: macos-latest | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 18 | |
| cache: npm | |
| - name: Install jq for legacy validator on Linux | |
| if: runner.os == 'Linux' | |
| run: sudo apt-get update && sudo apt-get install -y jq | |
| - name: Install jq for legacy validator on macOS | |
| if: runner.os == 'macOS' | |
| run: brew install jq | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build and typecheck | |
| run: npm run build && npm run typecheck | |
| - name: Test | |
| run: npm run test:functional | |
| - name: Shell syntax | |
| run: sh -n scripts/validate.sh && node --check templates/pre-commit | |
| - name: Check and doctor worked example | |
| run: | | |
| mkdir -p graph evidence | |
| cp -R examples/worked-example/graph/. graph/ | |
| cp -R examples/worked-example/evidence/. evidence/ | |
| node dist/src/cli.js check | |
| node dist/src/cli.js doctor | |
| - name: Package smoke | |
| run: npm run package:smoke | |
| quality-windows-git-bash: | |
| name: quality-windows-git-bash | |
| runs-on: windows-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 18 | |
| cache: npm | |
| - name: Install jq for legacy validator | |
| shell: pwsh | |
| run: choco install jq -y --no-progress | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build and typecheck | |
| run: npm run build && npm run typecheck | |
| - name: Test in Git Bash | |
| run: npm run test:functional | |
| - name: Shell syntax | |
| run: sh -n scripts/validate.sh && node --check templates/pre-commit | |
| - name: Check and doctor worked example | |
| run: | | |
| mkdir -p graph evidence | |
| cp -R examples/worked-example/graph/. graph/ | |
| cp -R examples/worked-example/evidence/. evidence/ | |
| node dist/src/cli.js check | |
| node dist/src/cli.js doctor | |
| - name: Package smoke | |
| run: npm run package:smoke | |
| quality-windows-powershell: | |
| name: quality-windows-powershell | |
| runs-on: windows-latest | |
| defaults: | |
| run: | |
| shell: pwsh | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 18 | |
| cache: npm | |
| - name: Install dependencies without legacy jq | |
| run: npm ci | |
| - name: Build and typecheck | |
| run: npm run build; if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }; npm run typecheck | |
| - name: Test native PowerShell graphkeeper.cmd and Git pre-commit paths | |
| run: | | |
| Remove-Item Env:MSYSTEM -ErrorAction SilentlyContinue | |
| node --test --test-concurrency=1 ` | |
| dist/tests/unit/update.test.js ` | |
| dist/tests/integration/update-command.test.js ` | |
| dist/tests/integration/init-prerequisites.test.js ` | |
| dist/tests/integration/query-command.test.js ` | |
| dist/tests/integration/standalone-validator.test.js ` | |
| dist/tests/integration/templates.test.js ` | |
| dist/tests/integration/validator-modes.test.js ` | |
| dist/tests/e2e/pre-commit.test.js ` | |
| dist/tests/e2e/package-install.test.js | |
| - name: Package smoke | |
| run: npm run package:smoke | |
| performance: | |
| name: performance-${{ matrix.platform }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - platform: ubuntu | |
| os: ubuntu-latest | |
| - platform: windows-git-bash | |
| os: windows-latest | |
| runs-on: ${{ matrix.os }} | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 18 | |
| cache: npm | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Run isolated performance budgets | |
| run: npm run test:performance |