1244d2ff

By: Michael Lynch <git@mtlynch.io>

Stamp Go binaries with VCS metadata in Nix builds

Nix copies source trees without .git metadata, so Go could not include vcs.revision, vcs.time, or vcs.modified in binaries built with buildGoModule.

Synthesize the small git surface Go needs during package builds so the existing build info reporting on the about page receives real VCS metadata.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 1s 6s 6s 8s 1s
Eval 7s 1m10s 1m10s 1m17s 0s
Build 12s 2m01s 43s 56s 0s
Test 41s 3m14s 3m16s 3m57s 1m14s
Suite 1s 6m32s 3m55s 3m57s 1m16s

Timeline

0s20s40s1m1m20s1m40s2m2m20s2m40s3m3m20s3m40s