CI #158
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] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| build-and-test: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| node: [18, 20, 22] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| cache: 'npm' | |
| - run: npm ci | |
| - run: npm run build | |
| - run: npm test | |
| env: | |
| CODEBOT_NO_DOCKER: '1' | |
| extension-and-action-tests: | |
| runs-on: ubuntu-latest | |
| needs: build-and-test | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: 'npm' | |
| - run: npm ci | |
| - name: Compile extension tests | |
| run: | | |
| npx tsc --strict --target ES2022 --module commonjs --moduleResolution node \ | |
| --outDir /tmp/ext-tests --esModuleInterop \ | |
| extensions/vscode/src/test/agent-bridge.test.ts \ | |
| extensions/vscode/src/test/diff-preview.test.ts \ | |
| extensions/vscode/src/test/status-bar.test.ts \ | |
| extensions/vscode/src/test/sidebar.test.ts | |
| - name: Compile action tests | |
| run: | | |
| npx tsc --strict --target ES2022 --module commonjs --moduleResolution node \ | |
| --outDir /tmp/action-tests --esModuleInterop \ | |
| actions/codebot/src/test/prompts.test.ts \ | |
| actions/codebot/src/test/index.test.ts \ | |
| actions/codebot/src/test/review.test.ts \ | |
| actions/codebot/src/test/scan.test.ts | |
| - name: Run extension tests | |
| run: node --test $(find /tmp/ext-tests -name '*.test.js') | |
| - name: Run action tests | |
| run: node --test $(find /tmp/action-tests -name '*.test.js') | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: 'npm' | |
| - run: npm ci | |
| - run: npm run lint |