We track various stats about each CI job.
workflow_run
event triggers upload-test-stats.yml
.upload-test-stats
downloads the raw stats from the intermediate data store and uploads them as JSON to Rockset, our metrics backend.graph LR J1[Job with AWS creds<br>e.g. linux, win] --raw stats--> S3[(AWS S3)] J2[Job w/o AWS creds<br>e.g. mac] --raw stats--> GHA[(GH artifacts)] S3 --> uts[upload-test-stats.yml] GHA --> uts uts --json--> R[(Rockset)]
Why this weird indirection? Because writing to Rockset requires special permissions which, for security reasons, we do not want to give to pull request CI. Instead, we implemented GitHub's recommended pattern for cases like this.
For more details about what stats we export, check out upload-test-stats.yml