CI runs the suite, and asserts what the suite needs !134

merged merged by cmc on 2026-08-31 16:26 UTC · krz/gitbay:ci-runs-tests into main

Discussion

cmc

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.