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

clay-ci-integration

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

person作者: jakexiaohubgithub

Clay CI Integration

Overview

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

Prerequisites

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

Instructions

Step 1: Create GitHub Actions Workflow

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

name: Clay Integration Tests

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

env:
  CLAY_API_KEY: ${{ secrets.CLAY_API_KEY }}

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

Step 3: Add Integration Tests

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

Branch Protection

required_status_checks:
  - "test"
  - "clay-integration"

Resources

Next Steps

For deployment patterns, see clay-deploy-integration.