detached 4121ef1

fix(ci): use Arch Linux container for glib 2.84+ support

commit
4121ef1b7d2ec0f6a5f1fc2ff7223c2eb0c0bf09
author
bnema · · 2025-11-30 07:37 UTC
parent
a5ed4a4
signature
unsigned
1 file · +28 -25
M .github/workflows/ci.yml +28 -25
@@ -11,12 +11,21 @@ on:
1111 jobs:
1212 lint:
1313 runs-on: ubuntu-latest
14+ container:
15+ image: archlinux:latest
1416 steps:
17+ - name: Install dependencies
18+ run: |
19+ pacman -Syu --noconfirm
20+ pacman -S --noconfirm git go nodejs npm webkitgtk-6.0 gtk4 gobject-introspection base-devel
1521 - uses: actions/checkout@v6
16- - uses: actions/setup-go@v6
22+ - name: Cache Go modules
23+ uses: actions/cache@v4
1724 with:
18- go-version: stable
19- cache: true
25+ path: ~/go/pkg/mod
26+ key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }}
27+ restore-keys: |
28+ ${{ runner.os }}-go-mod-
2029 - name: Cache Go build cache
2130 uses: actions/cache@v4
2231 with:
@@ -24,30 +33,31 @@ jobs:
2433 key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }}
2534 restore-keys: |
2635 ${{ runner.os }}-go-build-
27- - uses: actions/setup-node@v6
28- with:
29- node-version: '24'
30- - name: Install WebKitGTK 6.0 dependencies
31- run: |
32- sudo apt-get update
33- sudo apt-get install -y libwebkitgtk-6.0-dev libgtk-4-dev libgirepository1.0-dev
3436 - name: Build frontend assets
3537 run: make build-frontend
38+ - name: Install golangci-lint
39+ run: |
40+ curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b /usr/local/bin v2.6.2
3641 - name: Run golangci-lint
37- uses: golangci/golangci-lint-action@v7
38- with:
39- version: v2.6.2
40- skip-cache: false
41- args: --timeout=20m
42+ run: golangci-lint run --timeout=20m
4243
4344 test:
4445 runs-on: ubuntu-latest
46+ container:
47+ image: archlinux:latest
4548 steps:
49+ - name: Install dependencies
50+ run: |
51+ pacman -Syu --noconfirm
52+ pacman -S --noconfirm git go nodejs npm webkitgtk-6.0 gtk4 gobject-introspection base-devel
4653 - uses: actions/checkout@v6
47- - uses: actions/setup-go@v6
54+ - name: Cache Go modules
55+ uses: actions/cache@v4
4856 with:
49- go-version: stable
50- cache: true
57+ path: ~/go/pkg/mod
58+ key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }}
59+ restore-keys: |
60+ ${{ runner.os }}-go-mod-
5161 - name: Cache Go build cache
5262 uses: actions/cache@v4
5363 with:
@@ -55,13 +65,6 @@ jobs:
5565 key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }}
5666 restore-keys: |
5767 ${{ runner.os }}-go-build-
58- - uses: actions/setup-node@v6
59- with:
60- node-version: '24'
61- - name: Install WebKitGTK 6.0 dependencies
62- run: |
63- sudo apt-get update
64- sudo apt-get install -y libwebkitgtk-6.0-dev libgtk-4-dev libgirepository1.0-dev
6568 - name: Build frontend assets
6669 run: make build-frontend
6770 - name: Run tests
@@ -11,12 +11,21 @@ on:
11 jobs:11 jobs:
12 lint:12 lint:
13 runs-on: ubuntu-latest13 runs-on: ubuntu-latest
14+ container:
15+ image: archlinux:latest
14 steps:16 steps:
17+ - name: Install dependencies
18+ run: |
19+ pacman -Syu --noconfirm
20+ pacman -S --noconfirm git go nodejs npm webkitgtk-6.0 gtk4 gobject-introspection base-devel
15 - uses: actions/checkout@v621 - uses: actions/checkout@v6
16- - uses: actions/setup-go@v622+ - name: Cache Go modules
23+ uses: actions/cache@v4
17 with:24 with:
18- go-version: stable25+ path: ~/go/pkg/mod
19- cache: true26+ key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }}
27+ restore-keys: |
28+ ${{ runner.os }}-go-mod-
20 - name: Cache Go build cache29 - name: Cache Go build cache
21 uses: actions/cache@v430 uses: actions/cache@v4
22 with:31 with:
@@ -24,30 +33,31 @@ jobs:
24 key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }}33 key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }}
25 restore-keys: |34 restore-keys: |
26 ${{ runner.os }}-go-build-35 ${{ runner.os }}-go-build-
27- - uses: actions/setup-node@v6
28- with:
29- node-version: '24'
30- - name: Install WebKitGTK 6.0 dependencies
31- run: |
32- sudo apt-get update
33- sudo apt-get install -y libwebkitgtk-6.0-dev libgtk-4-dev libgirepository1.0-dev
34 - name: Build frontend assets36 - name: Build frontend assets
35 run: make build-frontend37 run: make build-frontend
38+ - name: Install golangci-lint
39+ run: |
40+ curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b /usr/local/bin v2.6.2
36 - name: Run golangci-lint41 - name: Run golangci-lint
37- uses: golangci/golangci-lint-action@v742+ run: golangci-lint run --timeout=20m
38- with:
39- version: v2.6.2
40- skip-cache: false
41- args: --timeout=20m
42 43
43 test:44 test:
44 runs-on: ubuntu-latest45 runs-on: ubuntu-latest
46+ container:
47+ image: archlinux:latest
45 steps:48 steps:
49+ - name: Install dependencies
50+ run: |
51+ pacman -Syu --noconfirm
52+ pacman -S --noconfirm git go nodejs npm webkitgtk-6.0 gtk4 gobject-introspection base-devel
46 - uses: actions/checkout@v653 - uses: actions/checkout@v6
47- - uses: actions/setup-go@v654+ - name: Cache Go modules
55+ uses: actions/cache@v4
48 with:56 with:
49- go-version: stable57+ path: ~/go/pkg/mod
50- cache: true58+ key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }}
59+ restore-keys: |
60+ ${{ runner.os }}-go-mod-
51 - name: Cache Go build cache61 - name: Cache Go build cache
52 uses: actions/cache@v462 uses: actions/cache@v4
53 with:63 with:
@@ -55,13 +65,6 @@ jobs:
55 key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }}65 key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }}
56 restore-keys: |66 restore-keys: |
57 ${{ runner.os }}-go-build-67 ${{ runner.os }}-go-build-
58- - uses: actions/setup-node@v6
59- with:
60- node-version: '24'
61- - name: Install WebKitGTK 6.0 dependencies
62- run: |
63- sudo apt-get update
64- sudo apt-get install -y libwebkitgtk-6.0-dev libgtk-4-dev libgirepository1.0-dev
65 - name: Build frontend assets68 - name: Build frontend assets
66 run: make build-frontend69 run: make build-frontend
67 - name: Run tests70 - name: Run tests

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 8

Tags 42

↑↓ moveenter openesc close