groq-ci-integration

Configure Groq CI/CD integration with GitHub Actions, testing, and model validation. Use when setting up automated testing, configuring CI pipelines, or integrating Groq tests into your build process. Trigger with phrases like "groq CI", "groq GitHub Actions", "groq automated tests", "CI groq".

Allowed Tools

ReadWriteEditBash(gh:*)

Provided by Plugin

groq-pack

Claude Code skill pack for Groq (24 skills)

saas packs v1.11.0
View Plugin

Installation

This skill is included in the groq-pack plugin:

/plugin install groq-pack@claude-code-plugins-plus

Click to copy

Instructions

Groq CI Integration

Overview

Set up CI/CD pipelines for Groq integrations with unit tests (mocked), integration tests (live API), and model deprecation checks. Groq's fast inference makes live integration tests practical in CI -- a completion round-trip takes < 500ms.

Prerequisites

  • GitHub repository with Actions enabled
  • Groq API key stored as GitHub secret
  • vitest or jest for testing

Instructions

The integration has four moving parts. Read this section for the high-level flow, then drill into the reference files for the full copy-paste blocks — the complete workflows and configuration live in references/implementation.md and the full test suite in references/examples.md.

Step 1: GitHub Actions workflow

Write .github/workflows/groq-tests.yml with three jobs: unit-tests (mocked groq-sdk, runs on every PR, no key), integration-tests (live API, push-to-main only, guarded by if: github.event_name != 'pull_request'), and a weekly model-check cron that diffs the model IDs the code references against Groq's live model list. The job skeleton:


# .github/workflows/groq-tests.yml — see references/implementation.md for full file
on:
  push: { branches: [main] }
  pull_request: { branches: [main] }
  schedule:
    - cron: "0 6 * * 1"  # Weekly model deprecation check
jobs:
  unit-tests:        # mocked groq-sdk, no API key
  integration-tests: # live API, push-to-main only
  model-check:       # curl /v1/models, flag deprecated IDs

Step 2: Configure secrets

Store a CI-scoped key with gh secret set GROQ_API_KEY --body "gsk_your_ci_key_here". Keep it separate from the production key so it rotates and tracks CI usage independently.

Step 3: Integration test suite

Add tests/groq.integration.ts gated on a GROQ_INTEGRATION env var (so the file is a no-op without a key). It asserts model listing, chat completion, streaming, and JSON mode. Full file: references/examples.md.

Step 4: Release workflow

Gate npm publish behind a live production Groq round-trip so a broken key or deprecated model blocks the release. Full release.yml: references/implementation.md.

CI best practices: mock groq-sdk in unit tests, run integration tests only on main push (saves quota), prefer llama-3.1-8b-instant (cheapest, fastest) with low max_tokens (5-50), add timeout-minutes: 2, and schedule the weekly deprecation check.

Output

Applying this skill produces the following files in the target repository:

File Purpose
.github/workflows/groq-tests.yml Unit + integration + weekly model-check jobs
.github/workflows/release.yml Tag-triggered release gated on a live Groq check
tests/groq.integration.ts GROQ_INTEGRATION-gated live API test suite
GROQ_API_KEY GitHub secret CI-scoped key set via gh secret set

At runtime the workflow reports three independent checks in the GitHub Actions panel — unit-tests (green without any key), integration-tests (verbose per-assertion output on push to main), and model-check (a code-vs-Groq model diff that exits non-zero on any deprecated model ID).

Error Handling

Issue Cause Solution
Secret not found GROQ_API_KEY not configured gh secret set GROQ_API_KEY
Integration test timeout Network issue or rate limit Increase timeout, add retry
Model check fails Model deprecated Update model ID in source code
Flaky tests Rate limiting in CI Add backoff, run integration tests less often

Examples

Set the CI secret and scaffold the workflow. Store a dedicated CI key, then drop in the workflow from the reference file:


gh secret set GROQ_API_KEY --body "gsk_your_ci_key_here"
# copy .github/workflows/groq-tests.yml from references/implementation.md

Run the integration suite locally before pushing. The suite is inert without the flag, so opt in explicitly:


GROQ_INTEGRATION=1 npx vitest tests/groq.integration.ts --reporter=verbose

Full walkthroughs: references/implementation.md (workflows, secrets, release gate) and references/examples.md (complete integration test suite + how to read the CI output).

Resources

Next Steps

For deployment patterns — provisioning production keys, environment promotion, and rollback on a failed Groq health check — see the groq-deploy-integration skill, which picks up where this CI gate leaves off.

Ready to use groq-pack?