返回 Skill 列表
extension
分类: 开发与工程无需 API Key

exa-ci-integration

配置Exa CI/CD与GitHub Actions和测试的集成。在设置自动化测试、配置CI流水线或将Exa测试集成到构建过程中时使用。可以通过诸如“exa CI”、“exa GitHub Actions”、“exa 自动化测试”、“CI exa”等短语触发。

person作者: jakexiaohubgithub

Exa CI Integration

Overview

Set up CI/CD pipelines for Exa integrations with automated testing.

Prerequisites

  • GitHub repository with Actions enabled
  • Exa test API key
  • npm/pnpm project configured

Instructions

Step 1: Create GitHub Actions Workflow

Create .github/workflows/exa-integration.yml:

name: Exa Integration Tests

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

env:
  EXA_API_KEY: ${{ secrets.EXA_API_KEY }}

jobs:
  test:
    runs-on: ubuntu-latest
    env:
      EXA_API_KEY: ${{ secrets.EXA_API_KEY }}
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
          cache: 'npm'
      - run: npm ci
      - run: npm test -- --coverage
      - run: npm run test:integration

Step 2: Configure Secrets

gh secret set EXA_API_KEY --body "sk_test_***"

Step 3: Add Integration Tests

describe('Exa Integration', () => {
  it.skipIf(!process.env.EXA_API_KEY)('should connect', async () => {
    const client = getExaClient();
    const result = await client.healthCheck();
    expect(result.status).toBe('ok');
  });
});

Output

  • Automated test pipeline
  • PR checks configured
  • Coverage reports uploaded
  • Release workflow ready

Error Handling

| Issue | Cause | Solution | |-------|-------|----------| | Secret not found | Missing configuration | Add secret via gh secret set | | Tests timeout | Network issues | Increase timeout or mock | | Auth failures | Invalid key | Check secret value |

Examples

Release Workflow

on:
  push:
    tags: ['v*']

jobs:
  release:
    runs-on: ubuntu-latest
    env:
      EXA_API_KEY: ${{ secrets.EXA_API_KEY_PROD }}
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm ci
      - name: Verify Exa production readiness
        run: npm run test:integration
      - run: npm run build
      - run: npm publish

Branch Protection

required_status_checks:
  - "test"
  - "exa-integration"

Resources

Next Steps

For deployment patterns, see exa-deploy-integration.