mirror of
https://github.com/pacnpal/Roo-Code.git
synced 2025-12-20 04:11:10 -05:00
79 lines
2.1 KiB
YAML
79 lines
2.1 KiB
YAML
name: Code QA Roo Code
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
types: [opened, reopened, ready_for_review, synchronize]
|
|
branches: [main]
|
|
|
|
jobs:
|
|
compile:
|
|
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: Compile
|
|
run: npm run compile
|
|
- name: Check types
|
|
run: npm run check-types
|
|
- name: Lint
|
|
run: npm run lint
|
|
|
|
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.XOPENROUTER_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.integration file
|
|
run: echo "OPENROUTER_API_KEY=${{ secrets.OPENROUTER_API_KEY }}" > .env.integration
|
|
- name: Install dependencies
|
|
run: npm run install:all
|
|
- name: Run integration tests
|
|
run: xvfb-run -a npm run test:integration
|