Run distributed LLM evaluations using GitHub Actions as your rollout processor with automatic trace collection. Scale your evaluations in the cloud without managing infrastructure.
馃摉 New to GitHub Action Rollout Processing? Read the complete GitHub Actions Rollout Tutorial first - this repository serves as the working example for that tutorial.
-
Fork this repository to your GitHub account, then clone your fork:
git clone https://github.com/YOUR-USERNAME/github-action-rollout-processor-hello-world.git cd github-action-rollout-processor-hello-world -
Update the repository configuration in
quickstart.py:rollout_processor=GithubActionRolloutProcessor( owner="YOUR-USERNAME", # Change this to your GitHub username repo="github-action-rollout-processor-hello-world", # ... rest of configuration )
-
Set up your local environment:
For the GitHub token, create a Personal Access Token (classic) with permissions for
repoandworkflow.export GITHUB_TOKEN="ghp_..." export FIREWORKS_API_KEY="your_fireworks_key"
pip install eval-protocolpytest quickstart.py -vs- /init triggers one rollout: Eval Protocol dispatches a GitHub Actions workflow with
completion_params,metadata(incl.rollout_id), andmodel_base_url. - Polling to check rollout status: The processor finds the
rollout:<rollout_id>run and polls GitHub Actions until it completes. - Send chat completions and store as trace: The workflow executes your agent and sends completions/logs to Fireworks with the rollout鈥檚 correlation tags.
- Once rollout finished, pull full trace and evaluate: Eval Protocol fetches the Fireworks trace by
rollout_idand scores the result.
Example: See a successful rollout execution to understand what the GitHub Actions workflow looks like in practice.
After running the test, start the local UI server to view results:
ep logsVisit http://localhost:8000 to explore your evaluation results with detailed traces and metrics.

