deepgram-ci-integration
Deepgram CI Integration
Table of Contents
Overview
Set up continuous integration and deployment pipelines for Deepgram integrations. Covers GitHub Actions, GitLab CI, integration test suites, smoke tests, and automated key rotation.
Prerequisites
- CI/CD platform access (GitHub Actions, GitLab CI, etc.)
- Deepgram API key for testing
- Secret management configured
- Test fixtures prepared
Instructions
Step 1: Configure Secrets
Store DEEPGRAM_API_KEY and DEEPGRAM_PROJECT_ID as CI/CD secrets. Use separate keys per environment.
Step 2: Create Test Workflow
Set up automated testing on push/PR with unit tests, linting, and type checking.
Step 3: Add Integration Tests
Implement Deepgram-specific integration tests: API connectivity, pre-recorded transcription, language detection, and error handling.
Step 4: Configure Deployment
Set up staged deployment: test -> lint -> integration -> staging deploy -> smoke test.
Step 5: Set Up Key Rotation
Configure monthly automated key rotation via gh secret set in a scheduled workflow.
Output
- CI workflow configuration (GitHub Actions or GitLab CI)
- Automated test suite with integration tests
- Smoke test script for post-deploy verification
- Deployment pipeline with staging/production stages
- Automated key rotation schedule
Error Handling
| Issue | Cause | Resolution |
|---|---|---|
| Integration tests fail | Invalid or expired API key | Rotate DEEPGRAM_API_KEY secret |
| Smoke test timeout | API latency or network issues | Increase timeout, check status page |
| Build fails | Missing dependencies | Verify npm ci succeeds |
Examples
Smoke Test
DEEPGRAM_API_KEY=xxx npx tsx scripts/smoke-test.ts
Tests API connectivity and transcription of the NASA podcast sample, exits non-zero on failure.
Package.json Scripts
{
"test:integration": "vitest run --config vitest.integration.config.ts",
"test:deepgram": "vitest run tests/integration/deepgram.test.ts",
"smoke-test": "tsx scripts/smoke-test.ts"
}
See detailed implementation for advanced patterns.