groq-ci-integration

'Configure Groq CI/CD integration with GitHub Actions, testing, and model

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.eventname != 'pullrequest'), 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 GROQAPIKEY --body

"gskyourcikeyhere"`. 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
GROQAPIKEY 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 GROQAPIKEY not configured gh secret set GROQAPIKEY
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?