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.

Code

396 commit(s) on main

Turn off the disk reserve for test-spawned runners Keenan Nemetz · 2h ago c284cb2c
history blame raw 1.9 KiB
1# The image .vole/workflows/verify.yaml runs in. It carries everything the steps call: the Go toolchain
2# (with gcc, so -race works), the SQLite development headers the driver links
3# against, git and the ssh client and keygen the server tests spawn, python3 for
4# the link check, and PyYAML for the deployment check.
5#
6# The toolchain is the one go.mod pins (go 1.27.3), and the base image is pinned
7# by digest so the scanner and the compiler that pass a push are the ones the
8# release is built with. Bump both together, and bump the govulncheck version in
9# the workflows when the scanner moves.
10#
11# The ci user exists for OpenSSH: ssh and ssh-keygen call getpwuid() and exit 255
12# with "No user exists for uid N" when the running uid has no passwd entry, which
13# the server tests hit. The container runs as the host's uid (so the bind-mounted
14# working tree stays writable), so this needs to be that uid: 1000 is what a normal
15# user has on Debian and Ubuntu. A runner whose user has another uid should pass
16# --container-user.
17
18# nfpm is not installed here: the packaging step fetches it at a pinned version, so
19# that a local run and a pushed run execute the same command.
20version: 1
21from: golang:1.27.3-bookworm@sha256:972b4110ba0f47539a975c31e52c64765e1ff19f2d74469ae4a595c6676e80a5
22env:
23 CGO_ENABLED: "1"
24 # Link the system SQLite instead of compiling the driver's bundled copy, so the
25 # tests run against the same library the release packages depend on.
26 GOFLAGS: "-tags=libsqlite3,sqlite_fts5"
27 # Opt in to the cache the runner mounts at /cache. Nothing is cached unless the
28 # job points at it; see docs/runner.md.
29 GOMODCACHE: "/cache/go-mod"
30 GOCACHE: "/cache/go-build"
31run:
32 - apt-get update && apt-get install -y --no-install-recommends libsqlite3-dev git git-lfs openssh-client python3 python3-yaml ca-certificates && rm -rf /var/lib/apt/lists/*
33 - useradd --uid 1000 --create-home --shell /bin/sh ci
34