Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/vole.git

Write over SSH with a registered key:

git clone ssh://git@rodent.software:2222/vole.git

A free and open-source forge that lives in your Git repo.

Blame · .vole/images/release.yaml

Line attribution on main · 29 line(s)

3b39a84c
Keenan Nemetz
15d ago
1 # The image a release build runs in. Pinned so a tag built twice builds the same
536f08b9
Keenan Nemetz
14d ago
2 # way: the tag names the exact toolchain go.mod pins (go 1.27.3) and the digest
3 # pins the base image, so a rebuild cannot pick up a different compiler. It needs
4 # no packaging tools of its own: the steps fetch a pinned nfpm, which is also what
70ba9a69
Keenan Nemetz
10d ago
5 # makes `vole workflow run release` work locally. python3 is here for the license
6 # gate, which reads the bill of materials the release builds: a tag can point at a
7 # commit that never passed a push.
3b39a84c
Keenan Nemetz
15d ago
8 version: 1
536f08b9
Keenan Nemetz
14d ago
9 from: golang:1.27.3-bookworm@sha256:972b4110ba0f47539a975c31e52c64765e1ff19f2d74469ae4a595c6676e80a5
3b39a84c
Keenan Nemetz
15d ago
10 env:
95425af7
Keenan Nemetz
11d ago
11 CGO_ENABLED: "1"
12 # Link the system SQLite instead of compiling the driver's bundled copy; the
13 # packages declare the matching runtime library (see packaging/nfpm.yaml).
41dd571f
Keenan Nemetz
10d ago
14 GOFLAGS: "-tags=libsqlite3,sqlite_fts5"
3b39a84c
Keenan Nemetz
15d ago
15 # Opt in to the runner's cache mount, so a tag build reuses what CI already
16 # downloaded and compiled.
17 GOMODCACHE: "/cache/go-mod"
18 GOCACHE: "/cache/go-build"
19 run:
95425af7
Keenan Nemetz
11d ago
20 # arm64 is built on this amd64 image with a cross compiler, so the arm64
21 # libraries have to be installable beside the amd64 ones. Debian's archive
22 # carries both, so adding the architecture is enough.
23 - dpkg --add-architecture arm64
70ba9a69
Keenan Nemetz
10d ago
24 - apt-get update && apt-get install -y --no-install-recommends git ca-certificates gcc python3 libsqlite3-dev:amd64 gcc-aarch64-linux-gnu libsqlite3-dev:arm64 && rm -rf /var/lib/apt/lists/*
95425af7
Keenan Nemetz
11d ago
25 # The test step spawns ssh and ssh-keygen, which call getpwuid() and exit 255
26 # with "No user exists for uid N" when the container runs as the host's uid and
27 # the image has no passwd entry for it. Same reason, same entry as the verify
28 # image.
29 - useradd --uid 1000 --create-home --shell /bin/sh ci