Skip to content

Roo to main

Roo to main #373

Workflow file for this run

name: Code QA Costrict
on:
workflow_dispatch:
push:
branches:
- main
- dev
pull_request:
types: [opened, reopened, ready_for_review, synchronize]
branches:
- main
- dev
jobs:
# check-translations:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# - name: Setup Node.js and pnpm
# uses: ./.github/actions/setup-node-pnpm
# - name: Verify all translations are complete
# run: node scripts/find-missing-translations.js
# knip:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# - name: Setup Node.js and pnpm
# uses: ./.github/actions/setup-node-pnpm
# - name: Run knip checks
# run: pnpm knip
compile:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js and pnpm
uses: ./.github/actions/setup-node-pnpm
- name: Lint
run: pnpm lint
- name: Check types
run: pnpm check-types
unit-test:
name: platform-unit-test (${{ matrix.name }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
name: ubuntu-latest
- os: windows-latest
name: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js and pnpm
uses: ./.github/actions/setup-node-pnpm
- name: Run unit tests
run: pnpm 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 and pnpm
# uses: ./.github/actions/setup-node-pnpm
# - name: Create .env.local file
# working-directory: apps/vscode-e2e
# run: echo "OPENROUTER_API_KEY=${{ secrets.OPENROUTER_API_KEY }}" > .env.local
# - name: Run integration tests
# working-directory: apps/vscode-e2e
# run: xvfb-run -a pnpm test:ci
# notify-slack-on-failure:
# runs-on: ubuntu-latest
# needs: [check-translations, knip, compile, unit-test, integration-test]
# if: ${{ always() && github.event_name == 'push' && github.ref == 'refs/heads/main' && contains(needs.*.result, 'failure') }}
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# - name: Send Slack notification on failure
# uses: ./.github/actions/slack-notify
# with:
# webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }}
# channel: "#ci"
# workflow-name: "Code QA"
# failed-jobs: ${{ toJSON(needs) }}