CI/CD Workflows Overview¶
This project uses GitHub Actions to automate benchmark execution, parsing, and documentation deployment.
Available Workflows¶
The repository contains several automated workflows:
- UChicago Benchmarks - Runs benchmark jobs at the UChicago Analysis Facility every 6 hours
- Documentation - Builds and deploys documentation to GitHub Pages
- Semantic PR Check - Validates pull request titles follow conventional commit format
Workflow Architecture¶
graph LR
A[GitHub Push/Schedule] --> B{Workflow Type}
B -->|Benchmark| C[Execute Jobs]
B -->|Docs| D[Build Docs]
C --> E[Parse Logs]
E --> F[Upload to Kibana]
C --> G[Upload Artifacts]
D --> H[Deploy to GitHub Pages] Secrets Configuration¶
The workflows require these GitHub repository secrets:
| Secret | Purpose | Used By |
|---|---|---|
VOMS_USERCERT | VOMS user certificate | Globus setup |
VOMS_USERKEY | VOMS user key | Globus setup |
VOMS_PASSWORD | VOMS password | Globus setup |
KIBANA_TOKEN | Kibana benchmark token | Parse and upload |
KIBANA_KIND | Kibana benchmark kind | Parse and upload |
KIBANA_URI | LogStash/Kibana URI endpoint | Parse and upload |
To add or update secrets:
- Navigate to repository Settings → Secrets and variables → Actions
- Click "New repository secret"
- Add the secret name and value
Pixi Environments¶
The project uses pixi for dependency management with two environments:
docs Environment¶
Python: 3.14 Purpose: Building and serving documentation Dependencies: mkdocs, plugins, linkchecker
pixi run -e docs build # Build documentation
pixi run -e docs serve # Serve with live reload
pixi run -e docs build-check # Build and validate links
kibana Environment¶
Python: 3.13 Purpose: Parsing logs and uploading to Kibana Dependencies: elasticsearch