detached e3bde5d

ci: run the checks in an Arch container

The Forgejo runner has no sudo, so apt-get failed before any test. The job now runs as root in archlinux:latest on Forgejo and GitHub, installs go, gcc and dbus with pacman, and checks that the toolchain matches go.mod.
commit
e3bde5d98eb5f186921a7c6e61a08aa29a1644b1
author
brice · · 2026-10-15 02:18 UTC
parent
0885f41
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
1 file · +10 -5
M .github/workflows/ci.yml +10 -5
@@ -9,17 +9,22 @@ concurrency:
99 group: ci-${{ github.ref }}
1010 cancel-in-progress: true
1111 jobs:
12+ # The job runs as root in an Arch container, on Forgejo and GitHub alike.
13+ # dbus-daemon runs the integration tests against a private bus; gcc is for
14+ # the race detector.
1215 check:
1316 runs-on: ubuntu-latest
17+ container:
18+ image: archlinux:latest
19+ options: --init
1420 steps:
21+ - run: pacman -Syu --noconfirm --needed git go gcc dbus
1522 - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
1623 with:
1724 persist-credentials: false
18- - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
19- with:
20- go-version-file: go.mod
21- # dbus-daemon runs the integration tests against a private bus.
22- - run: sudo apt-get update && sudo apt-get install -y --no-install-recommends dbus
25+ - run: |
26+ git config --global --add safe.directory "$GITHUB_WORKSPACE"
27+ test "$(go env GOVERSION | cut -d. -f1-2)" = "go$(sed -n 's/^go \([0-9]*\.[0-9]*\).*/\1/p' go.mod)"
2328 - run: test -z "$(gofmt -l .)"
2429 - run: go vet ./...
2530 - run: GOARCH=386 go vet ./...
@@ -9,17 +9,22 @@ concurrency:
9 group: ci-${{ github.ref }}9 group: ci-${{ github.ref }}
10 cancel-in-progress: true10 cancel-in-progress: true
11 jobs:11 jobs:
12+ # The job runs as root in an Arch container, on Forgejo and GitHub alike.
13+ # dbus-daemon runs the integration tests against a private bus; gcc is for
14+ # the race detector.
12 check:15 check:
13 runs-on: ubuntu-latest16 runs-on: ubuntu-latest
17+ container:
18+ image: archlinux:latest
19+ options: --init
14 steps:20 steps:
21+ - run: pacman -Syu --noconfirm --needed git go gcc dbus
15 - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.122 - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
16 with:23 with:
17 persist-credentials: false24 persist-credentials: false
18- - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v725+ - run: |
19- with:26+ git config --global --add safe.directory "$GITHUB_WORKSPACE"
20- go-version-file: go.mod27+ test "$(go env GOVERSION | cut -d. -f1-2)" = "go$(sed -n 's/^go \([0-9]*\.[0-9]*\).*/\1/p' go.mod)"
21- # dbus-daemon runs the integration tests against a private bus.
22- - run: sudo apt-get update && sudo apt-get install -y --no-install-recommends dbus
23 - run: test -z "$(gofmt -l .)"28 - run: test -z "$(gofmt -l .)"
24 - run: go vet ./...29 - run: go vet ./...
25 - run: GOARCH=386 go vet ./...30 - run: GOARCH=386 go vet ./...

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 3

↑↓ moveenter openesc close