Commit dc907cad9f

dc907cad9f1035d69eabd1cbcd8c9c68493bf128

parent: 53f2b88075

Verified · cmc ci/build: success ci/quality: success ci/test: success

cmc <hello@cleberg.net> · 2026-10-22 18:21 UTC

ci: gitbay-ci:3 with go 1.27.3

go.mod requires 1.27.3 and the image sets GOTOOLCHAIN=local, so builds
on gitbay-ci:2 (go 1.27.2) fail. gitbay-ci:3 is built on the runner host.
The runner's default image stays gitbay-ci:2.

Layout: unified · split

.gitbay/ci.yml +6 −6
@@ -2,7 +2,7 @@ jobs:
22 # Fast feedback: this finishes in seconds, so it is not held behind the
33 # suite.
44 build:
5 image: localhost/gitbay-ci:2
5 image: localhost/gitbay-ci:3
66 steps:
77 - go build ./...
88 - go vet ./...
@@ -13,7 +13,7 @@ jobs:
1313 # The 20m is under the runner's own 30m limit, so go times out first and
1414 # says which test hung instead of the runner killing it blind.
1515 test:
16 image: localhost/gitbay-ci:2
16 image: localhost/gitbay-ci:3
1717 steps:
1818 - 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; }
1919 - go test ./... -count=1 -timeout 20m
@@ -24,9 +24,9 @@ jobs:
2424 # printed without failing it. The CLI is pinned, and unpacked with Python
2525 # because this image has no xz.
2626 quality:
27 image: localhost/gitbay-ci:2
27 image: localhost/gitbay-ci:3
2828 steps:
29 - curl -fsSL -o /tmp/qlty.tar.xz https://qlty-releases.s3.amazonaws.com/qlty/v0.661.0/qlty-x86_64-unknown-linux-gnu.tar.xz && python3 -c "import tarfile; tarfile.open('/tmp/qlty.tar.xz').extractall('/tmp')"
29 - curl -fsSL -o /tmp/qlty.tar.xz https://qlty-releases.s3.amazonaws.com/qlty/v0.661.0/qlty-x86_64-unknown-linux-gnu.tar.xz && python3 -c "import tarfile; tarfile.open('/tmp/qlty.tar.xz').extractall('/tmp', filter='data')"
3030 - QLTY_TELEMETRY=off /tmp/qlty-x86_64-unknown-linux-gnu/qlty check --all --no-progress --filter trufflehog,gofmt
3131 - QLTY_TELEMETRY=off /tmp/qlty-x86_64-unknown-linux-gnu/qlty check --all --no-progress --no-fail
3232 paths-ignore:
@@ -45,11 +45,11 @@ jobs:
4545 # `build trigger krz/gitbay vuln` runs it on demand before a release
4646 # (#177).
4747 vuln:
48 image: localhost/gitbay-ci:2
48 image: localhost/gitbay-ci:3
4949 schedule: "0 3 * * *"
5050 steps:
5151 - go run golang.org/x/vuln/cmd/govulncheck@latest ./...
5252 # osv-scanner also reports advisories in dependencies the code does not
5353 # call, which govulncheck skips.
54 - curl -fsSL -o /tmp/qlty.tar.xz https://qlty-releases.s3.amazonaws.com/qlty/v0.661.0/qlty-x86_64-unknown-linux-gnu.tar.xz && python3 -c "import tarfile; tarfile.open('/tmp/qlty.tar.xz').extractall('/tmp')"
54 - curl -fsSL -o /tmp/qlty.tar.xz https://qlty-releases.s3.amazonaws.com/qlty/v0.661.0/qlty-x86_64-unknown-linux-gnu.tar.xz && python3 -c "import tarfile; tarfile.open('/tmp/qlty.tar.xz').extractall('/tmp', filter='data')"
5555 - QLTY_TELEMETRY=off /tmp/qlty-x86_64-unknown-linux-gnu/qlty check --all --no-progress --filter osv-scanner
.gitbay/wiki/Admin.org +2 −2
@@ -1090,7 +1090,7 @@ where every repository is trusted. There is no automatic fallback: a
10901090runner started with =-isolation podman= that cannot find a working
10911091podman exits rather than running a build unsandboxed.
10921092
1093gitbay's own jobs name =localhost/gitbay-ci:2=, built from
1093gitbay's own jobs name =localhost/gitbay-ci:3=, built from
10941094=deploy/Containerfile.ci= on the runner host. A job's image must carry
10951095what its steps need: the suite drives real git, git-lfs, gpg and sshd and
10961096asserts they exist before running, so the stock runner default would fail
@@ -1099,7 +1099,7 @@ it immediately. Build or rebuild it with:
10991099#+begin_src sh
11001100ssh -p 2222 root@<host> 'cat > /tmp/Containerfile.ci' < deploy/Containerfile.ci
11011101ssh -p 2222 root@<host> 'su - ci-runner -s /bin/sh -c \
1102 "podman build -t localhost/gitbay-ci:2 -f /tmp/Containerfile.ci /tmp"'
1102 "podman build -t localhost/gitbay-ci:3 -f /tmp/Containerfile.ci /tmp"'
11031103#+end_src
11041104
11051105The tag is deliberate rather than =:latest=: changing the file means
deploy/Containerfile.ci +2 −2
@@ -8,12 +8,12 @@
88#
99# scp -P 2222 deploy/Containerfile.ci root@gitbay.org:/var/lib/gitbay-runner/gitbay-ci.Containerfile
1010# ssh -p 2222 root@gitbay.org 'chown ci-runner /var/lib/gitbay-runner/gitbay-ci.Containerfile \
11# && su - ci-runner -s /bin/sh -c "podman build -t localhost/gitbay-ci:2 -f gitbay-ci.Containerfile ." \
11# && su - ci-runner -s /bin/sh -c "podman build -t localhost/gitbay-ci:3 -f gitbay-ci.Containerfile ." \
1212# && rm /var/lib/gitbay-runner/gitbay-ci.Containerfile'
1313#
1414# Tagged, not :latest, so a change to this file is a deliberate bump in
1515# .gitbay/ci.yml rather than a silent change under a running branch.
16FROM docker.io/library/golang:1.27-trixie
16FROM docker.io/library/golang:1.27.3-trixie
1717
1818# gitbay-runner-prune.service skips images carrying this label. A localhost/
1919# image cannot be pulled back, so pruning it fails every job that names it.