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

windsurf-ci-integration

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

person作者: jakexiaohubgithub

Windsurf CI Integration

Overview

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

Prerequisites

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

Instructions

Step 1: Create GitHub Actions Workflow

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

name: Windsurf Integration Tests

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

env:
  WINDSURF_API_KEY: ${{ secrets.WINDSURF_API_KEY }}

jobs:
  test:
    runs-on: ubuntu-latest
    env:
      WINDSURF_API_KEY: ${{ secrets.WINDSURF_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 WINDSURF_API_KEY --body "sk_test_***"

Step 3: Add Integration Tests

describe('Windsurf Integration', () => {
  it.skipIf(!process.env.WINDSURF_API_KEY)('should connect', async () => {
    const client = getWindsurfClient();
    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:
      WINDSURF_API_KEY: ${{ secrets.WINDSURF_API_KEY_PROD }}
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm ci
      - name: Verify Windsurf production readiness
        run: npm run test:integration
      - run: npm run build
      - run: npm publish

Branch Protection

required_status_checks:
  - "test"
  - "windsurf-integration"

Resources

Next Steps

For deployment patterns, see windsurf-deploy-integration.