Expand description
Storage: benchmark results as git notes under refs/notes/tak.
Why notes rather than an orphan branch or a committed file:
- The data is about a commit, which is exactly what notes are for.
cat_sort_uniqresolves concurrent writers with no custom merge driver.- The notes tree is keyed by commit SHA as path names and does not reference the annotated commits, so a single shallow fetch of this one ref returns the entire history without cloning the repository — measured at 36ms / 124K for 100 commits × 6 benchmarks, with zero project commit objects transferred. That property is what makes a hosted dashboard cheap.
All network operations shell out to git on purpose. actions/checkout sets
up auth via http.extraheader, and users have credential helpers, SSH agents
and corporate proxies; reimplementing any of that is a trap. Local object
access can move to gix later without changing this boundary.
Constants§
Functions§
- append
- Append records to
commit’s note locally, preserving anything already there. - fetch
- Pull the notes ref from
remote. - install_
refspec - Teach plain
git fetchabout the notes ref, so the data is visible to users who never runtak. A convenience, not load-bearing — everytakread path fetches for itself. - push
- Push the notes ref, resolving races against other CI jobs.
- read
- Read every record attached to
commit, after refreshing from the remote. - rev_
parse - Resolve a revision to a full SHA.