ideogram-ci-integration

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Ideogram CI Integration

Ideogram CI集成

Overview

概述

Set up CI/CD pipelines for Ideogram integrations with automated testing.
为Ideogram集成设置带有自动化测试的CI/CD流水线。

Prerequisites

前提条件

  • GitHub repository with Actions enabled
  • Ideogram test API key
  • npm/pnpm project configured
  • 已启用Actions的GitHub仓库
  • Ideogram测试API密钥
  • 已配置的npm/pnpm项目

Instructions

操作步骤

Step 1: Create GitHub Actions Workflow

步骤1:创建GitHub Actions工作流

Create
.github/workflows/ideogram-integration.yml
:
yaml
name: Ideogram Integration Tests

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

env:
  IDEOGRAM_API_KEY: ${{ secrets.IDEOGRAM_API_KEY }}

jobs:
  test:
    runs-on: ubuntu-latest
    env:
      IDEOGRAM_API_KEY: ${{ secrets.IDEOGRAM_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
创建
.github/workflows/ideogram-integration.yml
yaml
name: Ideogram Integration Tests

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

env:
  IDEOGRAM_API_KEY: ${{ secrets.IDEOGRAM_API_KEY }}

jobs:
  test:
    runs-on: ubuntu-latest
    env:
      IDEOGRAM_API_KEY: ${{ secrets.IDEOGRAM_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

步骤2:配置密钥

bash
gh secret set IDEOGRAM_API_KEY --body "sk_test_***"
bash
gh secret set IDEOGRAM_API_KEY --body "sk_test_***"

Step 3: Add Integration Tests

步骤3:添加集成测试

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

Output

输出结果

  • Automated test pipeline
  • PR checks configured
  • Coverage reports uploaded
  • Release workflow ready
  • 自动化测试流水线
  • 已配置的PR检查
  • 已上传的覆盖率报告
  • 就绪的发布工作流

Error Handling

错误处理

IssueCauseSolution
Secret not foundMissing configurationAdd secret via
gh secret set
Tests timeoutNetwork issuesIncrease timeout or mock
Auth failuresInvalid keyCheck secret value
问题原因解决方案
未找到密钥缺少配置通过
gh secret set
添加密钥
测试超时网络问题增加超时时间或使用模拟数据
认证失败密钥无效检查密钥值

Examples

示例

Release Workflow

发布工作流

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

jobs:
  release:
    runs-on: ubuntu-latest
    env:
      IDEOGRAM_API_KEY: ${{ secrets.IDEOGRAM_API_KEY_PROD }}
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm ci
      - name: Verify Ideogram production readiness
        run: npm run test:integration
      - run: npm run build
      - run: npm publish
yaml
on:
  push:
    tags: ['v*']

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

Branch Protection

分支保护

yaml
required_status_checks:
  - "test"
  - "ideogram-integration"
yaml
required_status_checks:
  - "test"
  - "ideogram-integration"

Resources

参考资源

Next Steps

后续步骤

For deployment patterns, see
ideogram-deploy-integration
.
如需了解部署模式,请查看
ideogram-deploy-integration