diff --git a/server/docker/wukongim.Dockerfile b/server/docker/wukongim.Dockerfile index dfbc69fa2..975352f40 100644 --- a/server/docker/wukongim.Dockerfile +++ b/server/docker/wukongim.Dockerfile @@ -10,6 +10,14 @@ RUN test -n "$WUKONG_COMMIT" \ && git checkout --detach FETCH_HEAD \ && test "$(git rev-parse HEAD)" = "$WUKONG_COMMIT" +# Recover only the old writer's compacted-prefix defect after validating the +# snapshot, retained CRC chain, node identity and complete committed suffix. +ARG WUKONG_RAFTSTORE_FIX_COMMIT=0194a738d04836899b998de8b4ac392b3aadb979 +RUN cd /src \ + && git fetch --depth 1 origin "$WUKONG_RAFTSTORE_FIX_COMMIT" \ + && test "$(git rev-parse FETCH_HEAD)" = "$WUKONG_RAFTSTORE_FIX_COMMIT" \ + && git checkout FETCH_HEAD -- pkg/controller/raft/raftstore + FROM accel.way2api.fun/docker.io/library/golang:1.25.0 AS builder ARG TARGETOS=linux @@ -17,6 +25,7 @@ ARG TARGETARCH WORKDIR /src COPY --from=source /src ./ RUN go mod download \ + && go test -count=1 ./pkg/controller/raft/raftstore \ && CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=${TARGETARCH:-$(go env GOARCH)} \ go build -trimpath -o /out/wukongim ./cmd/wukongim