detached 93dc6b1

build: require Go 1.27 and run CI on the go.mod version

commit
93dc6b16c06ae816cef586e74ca500127cf81ab3
author
brice · · 2026-10-08 19:07 UTC
parent
2c367cd
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
refs
tag: v0.1.1
4 files · +3 -9
M .github/workflows/ci.yml +1 -6
@@ -11,18 +11,13 @@ concurrency:
1111 jobs:
1212 check:
1313 runs-on: ubuntu-latest
14- strategy:
15- matrix:
16- # The oldest supported Go and the newest: allocation behaviour
17- # differs between compiler versions.
18- go: ['1.24', stable]
1914 steps:
2015 - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
2116 with:
2217 persist-credentials: false
2318 - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
2419 with:
25- go-version: ${{ matrix.go }}
20+ go-version-file: go.mod
2621 # dbus-daemon runs the integration tests against a private bus.
2722 - run: sudo apt-get update && sudo apt-get install -y --no-install-recommends dbus
2823 - run: test -z "$(gofmt -l .)"
@@ -11,18 +11,13 @@ concurrency:
11 jobs:11 jobs:
12 check:12 check:
13 runs-on: ubuntu-latest13 runs-on: ubuntu-latest
14- strategy:
15- matrix:
16- # The oldest supported Go and the newest: allocation behaviour
17- # differs between compiler versions.
18- go: ['1.24', stable]
19 steps:14 steps:
20 - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.115 - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
21 with:16 with:
22 persist-credentials: false17 persist-credentials: false
23 - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v718 - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
24 with:19 with:
25- go-version: ${{ matrix.go }}20+ go-version-file: go.mod
26 # dbus-daemon runs the integration tests against a private bus.21 # dbus-daemon runs the integration tests against a private bus.
27 - run: sudo apt-get update && sudo apt-get install -y --no-install-recommends dbus22 - run: sudo apt-get update && sudo apt-get install -y --no-install-recommends dbus
28 - run: test -z "$(gofmt -l .)"23 - run: test -z "$(gofmt -l .)"
M README.md +1 -1
@@ -3,7 +3,7 @@
33 A small D-Bus client for Go that does not allocate once it is running.
44
55 ```sh
6-go get github.com/bnema/zerobus # Go 1.24 or newer
6+go get github.com/bnema/zerobus # Go 1.27 or newer
77 ```
88
99 - **Zero allocations per message.** After the first few messages warm up its buffers, a call, a reply or a signal costs no heap allocation.
@@ -3,7 +3,7 @@
3 A small D-Bus client for Go that does not allocate once it is running.3 A small D-Bus client for Go that does not allocate once it is running.
4 4
5 ```sh5 ```sh
6-go get github.com/bnema/zerobus # Go 1.24 or newer6+go get github.com/bnema/zerobus # Go 1.27 or newer
7 ```7 ```
8 8
9 - **Zero allocations per message.** After the first few messages warm up its buffers, a call, a reply or a signal costs no heap allocation.9 - **Zero allocations per message.** After the first few messages warm up its buffers, a call, a reply or a signal costs no heap allocation.
M go.mod +1 -1
@@ -1,3 +1,3 @@
11 module github.com/bnema/zerobus
22
3-go 1.24
3+go 1.27
@@ -1,3 +1,3 @@
1 module github.com/bnema/zerobus1 module github.com/bnema/zerobus
2 2
3-go 1.243+go 1.27
M wire.go +0 -1
@@ -161,7 +161,6 @@ func validInterface(s string) bool {
161161 if len(s) > 255 {
162162 return false
163163 }
164- // strings.Cut, not SplitSeq: before Go 1.25 the iterator allocates.
165164 n := 0
166165 for more := true; more; n++ {
167166 var e string
@@ -161,7 +161,6 @@ func validInterface(s string) bool {
161 if len(s) > 255 {161 if len(s) > 255 {
162 return false162 return false
163 }163 }
164- // strings.Cut, not SplitSeq: before Go 1.25 the iterator allocates.
165 n := 0164 n := 0
166 for more := true; more; n++ {165 for more := true; more; n++ {
167 var e string166 var e string

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