Install evalflow in your repo
Run the following commands at the root of your repository to install evalflow and create the initial config and dataset files.Run
evalflow init creates two files:evalflow doctor locally to confirm your setup is valid before pushing.Create the workflow file
Create The
.github/workflows/evalflow.yml in your repository with the following content:paths filter limits the workflow to pull requests that touch prompts, evals, or your evalflow config. Remove or adjust those filters to run on every pull request.Add repository secrets
Store your provider API key as a GitHub Actions secret so it is never visible in logs or workflow files.If you use a different provider, set the variable name that matches your
- Go to your repository on GitHub.
- Click Settings → Secrets and variables → Actions.
- Click New repository secret.
- Set the name and value:
evalflow.yaml configuration — for example GROQ_API_KEY or ANTHROPIC_API_KEY — and reference it the same way in your workflow file.How blocking merges works
evalflow uses exit codes to communicate the result of a run:evalflow eval step exits with 1 or 2, the workflow fails and GitHub blocks the pull request from merging — no additional configuration required.
To enforce this as a required status check, go to Settings → Branches → Branch protection rules and add the eval job as a required check for your default branch.
Security
- Always store provider keys in GitHub Secrets or organization secrets.
- Keep
.envout of version control by adding it to.gitignore. - Use
evalflow doctorlocally before pushing so CI failures reflect model quality, not missing setup.