| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- name: Code QA Roo Code
- on:
- workflow_dispatch:
- push:
- branches: [main]
- pull_request:
- types: [opened, reopened, ready_for_review, synchronize]
- branches: [main]
- jobs:
- qa:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: '18'
- cache: 'npm'
- - name: Install dependencies
- run: npm run install:all
- - name: Run lint, check types, and esbuild
- run: npm run qa
- unit-test:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: '18'
- cache: 'npm'
- - name: Install dependencies
- run: npm run install:all
- - name: Run unit tests
- run: npm test
- check-openrouter-api-key:
- runs-on: ubuntu-latest
- outputs:
- exists: ${{ steps.openrouter-api-key-check.outputs.defined }}
- steps:
- - name: Check if OpenRouter API key exists
- id: openrouter-api-key-check
- shell: bash
- run: |
- if [ "${{ secrets.OPENROUTER_API_KEY }}" != '' ]; then
- echo "defined=true" >> $GITHUB_OUTPUT;
- else
- echo "defined=false" >> $GITHUB_OUTPUT;
- fi
- integration-test:
- runs-on: ubuntu-latest
- needs: [check-openrouter-api-key]
- if: needs.check-openrouter-api-key.outputs.exists == 'true'
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: '18'
- cache: 'npm'
- - name: Create env.e2e file
- run: echo "OPENROUTER_API_KEY=${{ secrets.OPENROUTER_API_KEY }}" > .env.e2e
- - name: Install dependencies
- run: npm run install:all
- - name: Run end-to-end tests
- run: xvfb-run -a npm run e2e
|