Build and test with a supported Go release (closes #107) #125
+4
-4
@@ -24,8 +24,8 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
|
|||||||
# image ships and the alpine one does not. -count=1 because the mounted
|
# image ships and the alpine one does not. -count=1 because the mounted
|
||||||
# cache also holds test results, which go test would otherwise replay.
|
# cache also holds test results, which go test would otherwise replay.
|
||||||
# -short skips the live RIS Live feed test, so the suite needs no network.
|
# -short skips the live RIS Live feed test, so the suite needs no network.
|
||||||
# golang:1.24-bookworm, 2026-09-21
|
# golang:1.27.2-bookworm, 2026-10-19
|
||||||
FROM golang@sha256:1a6d4452c65dea36aac2e2d606b01b4a029ec90cc1ae53890540ce6173ea77ac AS test
|
FROM golang@sha256:5cf287a799e6b94384bad13d16b14904c531f51ba65792237e122ce42b392f61 AS test
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
COPY go.mod go.sum ./
|
COPY go.mod go.sum ./
|
||||||
RUN go mod download
|
RUN go mod download
|
||||||
@@ -39,8 +39,8 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
|
|||||||
# Build stage. Nothing is wanted from either phase above; the copies
|
# Build stage. Nothing is wanted from either phase above; the copies
|
||||||
# are what make BuildKit build them first, so nothing after them can
|
# are what make BuildKit build them first, so nothing after them can
|
||||||
# run unless lint and test passed.
|
# run unless lint and test passed.
|
||||||
# golang:1.24-bookworm, 2026-09-21
|
# golang:1.27.2-bookworm, 2026-10-19
|
||||||
FROM golang@sha256:1a6d4452c65dea36aac2e2d606b01b4a029ec90cc1ae53890540ce6173ea77ac AS builder
|
FROM golang@sha256:5cf287a799e6b94384bad13d16b14904c531f51ba65792237e122ce42b392f61 AS builder
|
||||||
|
|
||||||
# Install build dependencies (zstd for archive, gcc for CGO/sqlite3)
|
# Install build dependencies (zstd for archive, gcc for CGO/sqlite3)
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
module git.eeqj.de/sneak/routewatch
|
module git.eeqj.de/sneak/routewatch
|
||||||
|
|
||||||
go 1.24.4
|
go 1.27.1
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/dustin/go-humanize v1.0.1
|
github.com/dustin/go-humanize v1.0.1
|
||||||
|
|||||||
@@ -564,11 +564,8 @@ func TestBatchWriteDuringCheckpoint(t *testing.T) {
|
|||||||
ctx, cancel := context.WithCancel(context.Background())
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
|
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
wg.Add(1)
|
|
||||||
|
|
||||||
go func() {
|
|
||||||
defer wg.Done()
|
|
||||||
|
|
||||||
|
wg.Go(func() {
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-ctx.Done():
|
case <-ctx.Done():
|
||||||
@@ -577,7 +574,7 @@ func TestBatchWriteDuringCheckpoint(t *testing.T) {
|
|||||||
_ = db.Checkpoint(ctx) // errors are the checkpoint's own to absorb
|
_ = db.Checkpoint(ctx) // errors are the checkpoint's own to absorb
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}()
|
})
|
||||||
|
|
||||||
ts := time.Now().UTC()
|
ts := time.Now().UTC()
|
||||||
for i := range contentionIterations {
|
for i := range contentionIterations {
|
||||||
|
|||||||
Reference in New Issue
Block a user