CI runs the suite, and asserts what the suite needs !134
2 files changed, +17 −0
Layout: unified · split
.gitbay/ci.yml +12
| @@ -1,5 +1,17 @@ | ||
| 1 | 1 | jobs: |
| 2 | # Fast feedback: this finishes in seconds, so it is not held behind the | |
| 3 | # suite. | |
| 2 | 4 | build: |
| 3 | 5 | steps: |
| 4 | 6 | - go build ./... |
| 5 | 7 | - go vet ./... |
| 8 | # The suite drives real git, ssh, sshd and gpg. Several tests skip | |
| 9 | # themselves when a tool is absent, so the prerequisites are asserted | |
| 10 | # first, all of them in one step so one run names everything to install. | |
| 11 | # A green check that quietly tested less is worse than a red one. | |
| 12 | # The 20m is under the runner's own 30m limit, so go times out first and | |
| 13 | # says which test hung instead of the runner killing it blind. | |
| 14 | test: | |
| 15 | steps: | |
| 16 | - missing=""; for t in git git-lfs gpg; do command -v "$t" >/dev/null || missing="$missing $t"; done; test -x /usr/sbin/sshd || missing="$missing sshd"; test -z "$missing" || { echo "runner is missing:$missing"; exit 1; } | |
| 17 | - go test ./... -count=1 -timeout 20m | |
deploy/cloud-init.yaml +5
| @@ -19,6 +19,11 @@ packages: | ||
| 19 | 19 | - ufw |
| 20 | 20 | - unattended-upgrades |
| 21 | 21 | - fail2ban |
| 22 | # The CI runner shares this host and the suite drives them; without them | |
| 23 | # the LFS and signature tests skip themselves and CI goes green having | |
| 24 | # tested less. | |
| 25 | - git-lfs | |
| 26 | - gnupg | |
| 22 | 27 | |
| 23 | 28 | write_files: |
| 24 | 29 | # Admin sshd on 2222. Ubuntu 24.04 socket-activates sshd, so the port |