This document explains how to set up the required secrets for GitHub Actions.
These secrets are optional but recommended for running integration tests:
OPENAI_API_KEY: Your OpenAI API keyGEMINI_API_KEY: Your Google Gemini API keyGROK_API_KEY: Your Grok/X.AI API key
CODECOV_TOKEN: Token for uploading coverage reports to Codecov
- Go to your repository on GitHub
- Click on "Settings" tab
- In the left sidebar, click "Secrets and variables" → "Actions"
- Click "New repository secret"
- Add each secret with its name and value
- Never commit secrets to the repository
- Use minimal permissions - Only grant the minimum required access
- Rotate secrets regularly - Update API keys periodically
- Monitor usage - Check your API usage dashboards regularly
- Use environment-specific keys - Don't use production keys for testing
For local development, create a .env file in the project root:
OPENAI_API_KEY=your_key_here
GEMINI_API_KEY=your_key_here
GROK_API_KEY=your_key_hereMake sure .env is in your .gitignore (it already is).
The workflows are configured with minimal permissions:
- Most jobs only have
contents: read - Only the release workflow has
contents: write - No workflows have access to other permissions unless explicitly needed
You can monitor secret usage in:
- GitHub Settings → Secrets → "Repository secrets" (shows last used)
- Your API provider dashboards (OpenAI, Google Cloud, X.AI)
- GitHub Actions logs (secrets are masked automatically)