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.
|
91e6a33a
Keenan Nemetz
15d ago
|
1 | # The image .vole/workflows/verify.yaml runs in. It carries everything the steps call: the Go toolchain |
|
95425af7
Keenan Nemetz
11d ago
|
2 | # (with gcc, so -race works), the SQLite development headers the driver links |
|
dbae2e01
Keenan Nemetz
3d ago
|
3 | # against, git and the ssh client and keygen the server tests spawn, python3 for |
|
51624dc6
Keenan Nemetz
3d ago
|
4 | # the link check, and PyYAML for the deployment check. |
|
3b39a84c
Keenan Nemetz
15d ago
|
5 | # |
|
536f08b9
Keenan Nemetz
14d ago
|
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 | # | |
|
3b39a84c
Keenan Nemetz
15d ago
|
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 | |
|
51624dc6
Keenan Nemetz
3d ago
|
19 | # that a local run and a pushed run execute the same command. |
|
3b39a84c
Keenan Nemetz
15d ago
|
20 | version: 1 |
|
536f08b9
Keenan Nemetz
14d ago
|
21 | from: golang:1.27.3-bookworm@sha256:972b4110ba0f47539a975c31e52c64765e1ff19f2d74469ae4a595c6676e80a5 |
|
3b39a84c
Keenan Nemetz
15d ago
|
22 | env: |
| 23 | CGO_ENABLED: "1" | |
|
95425af7
Keenan Nemetz
11d ago
|
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. | |
|
41dd571f
Keenan Nemetz
10d ago
|
26 | GOFLAGS: "-tags=libsqlite3,sqlite_fts5" |
|
3b39a84c
Keenan Nemetz
15d ago
|
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" | |
| 31 | run: | |
|
51624dc6
Keenan Nemetz
3d ago
|
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/* |
|
3b39a84c
Keenan Nemetz
15d ago
|
33 | - useradd --uid 1000 --create-home --shell /bin/sh ci |