ci.yml RawHistoryFolder

1name: CI
2
3on:
4  push:
5    branches: [main]
6  pull_request:
7
8permissions:
9  contents: read
10
11jobs:
12  changes:
13    name: Detect changes
14    runs-on: ubuntu-latest
15    permissions:
16      pull-requests: read
17    outputs:
18      go: ${{ steps.filter.outputs.go }}
19      installer: ${{ steps.filter.outputs.installer }}
20    steps:
21      - uses: actions/checkout@v6
22      - uses: dorny/paths-filter@v3
23        id: filter
24        with:
25          filters: |
26            go:
27              - '**.go'
28              - 'go.mod'
29              - 'go.sum'
30              - '.golangci.yml'
31              - 'Makefile'
32              - '.github/workflows/**'
33            installer:
34              - 'install.sh'
35              - 'tests/install_next_test.sh'
36              - '.github/workflows/ci.yml'
37
38  installer:
39    name: Installer
40    needs: changes
41    if: needs.changes.outputs.installer == 'true'
42    runs-on: ubuntu-latest
43    steps:
44      - uses: actions/checkout@v6
45      - name: Check installer scripts
46        run: |
47          shellcheck -s sh install.sh tests/install_next_test.sh
48          sh tests/install_next_test.sh
49
50  lint:
51    name: Lint
52    needs: changes
53    if: needs.changes.outputs.go == 'true'
54    runs-on: ubuntu-latest
55    steps:
56      - uses: actions/checkout@v6
57
58      - uses: actions/setup-go@v5
59        with:
60          go-version: "1.27.x"
61          cache: true
62
63      - name: Run golangci-lint
64        uses: golangci/golangci-lint-action@v9
65        with:
66          version: v2.14.0
67
68  test:
69    name: Test
70    needs: changes
71    if: needs.changes.outputs.go == 'true'
72    runs-on: ubuntu-latest
73    steps:
74      - uses: actions/checkout@v6
75
76      - uses: actions/setup-go@v5
77        with:
78          go-version: "1.27.x"
79          cache: true
80
81      - name: Run tests
82        run: go test -race -v ./...

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 7

Tags 106

↑↓ moveenter openesc close