Configure PostHog CI/CD integration with GitHub Actions and testing. Use when setting up automated testing, configuring CI pipelines, or integrating PostHog tests into your build process. Trigger with phrases like "posthog CI", "posthog GitHub Actions", "posthog automated tests", "CI posthog".
From posthog-packnpx claudepluginhub nickloveinvesting/nick-love-plugins --plugin posthog-packThis skill is limited to using the following tools:
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
Set up CI/CD pipelines for PostHog integrations with automated testing.
Create .github/workflows/posthog-integration.yml:
name: PostHog Integration Tests
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
jobs:
test:
runs-on: ubuntu-latest
env:
POSTHOG_API_KEY: ${{ secrets.POSTHOG_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
gh secret set POSTHOG_API_KEY --body "sk_test_***"
describe('PostHog Integration', () => {
it.skipIf(!process.env.POSTHOG_API_KEY)('should connect', async () => {
const client = getPostHogClient();
const result = await client.healthCheck();
expect(result.status).toBe('ok');
});
});
| 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 |
on:
push:
tags: ['v*']
jobs:
release:
runs-on: ubuntu-latest
env:
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY_PROD }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm ci
- name: Verify PostHog production readiness
run: npm run test:integration
- run: npm run build
- run: npm publish
required_status_checks:
- "test"
- "posthog-integration"
For deployment patterns, see posthog-deploy-integration.