# End-to-end tests against a real Garage container via testcontainers-go.
# Requires Docker on the build VM, which is why this is split from unit.yml.
# Pulls dxflrs/garage:v2.3.0 (~150 MB) once per build then runs ~6 subtests
# each against a fresh container — total ~30s after the image pull.
image: ubuntu/noble
packages:
- curl
- ca-certificates
- docker.io
sources:
- https://git.srht.bigb.es/~bigbes/ci-cacher
environment:
GO_VERSION: "1.26.3"
PATH: /home/build/.local/go/bin:/home/build/.local/bin:/usr/local/bin:/usr/bin:/bin
submitter:
git.sr.ht:
enabled: true
allow-refs:
- refs/heads/master
- "refs/tags/*"
tasks:
- install_go: |
GO_TARBALL="go${GO_VERSION}.linux-amd64.tar.gz"
mkdir -p ~/.local
curl -sSL "https://go.dev/dl/$GO_TARBALL" -o "/tmp/$GO_TARBALL"
tar -xz -C ~/.local -f "/tmp/$GO_TARBALL"
rm "/tmp/$GO_TARBALL"
go version
- docker_start: |
sudo systemctl start docker
sudo usermod -aG docker build
sudo chmod 666 /var/run/docker.sock
docker version
- test_e2e: |
cd ci-cacher
go test -tags=e2e -timeout=10m -v ./...