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.
|
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 |