Closes #63.
A green check meant the tree compiled and vetted. It now means the tests pass, in a job of its own so build and vet still answer in seconds rather than waiting behind ten minutes of e2e.
The suite drives real git, ssh, sshd and gpg, and several tests skip
themselves when a tool is absent — git-lfs in the LFS tests, gpg in the
signature tests, /usr/sbin/sshd in the system-sshd test. On a host missing
them CI would go green having quietly tested less, which is worse than red.
So the job asserts its prerequisites first, naming all of them in one run
rather than one per push.
That guard earned itself immediately. On this branch it reports:
runner is missing: git-lfs gpg
which is the answer to a question nobody could have answered by reading the config: the runner host has git and sshd, and has never had the other two. Every e2e run on it would have skipped those tests silently.
deploy/cloud-init.yaml now provisions both, so a rebuilt host is not
missing them. The existing host is not retroactively fixed by that, and I
could not reach it — apt-get install -y git-lfs gnupg on bay1 is needed
before the test job can pass. Until then this branch's test build is red,
and correctly so.
go's own timeout is 20m, under the runner's 30m, so a hang is reported as the test that hung rather than as a killed build.