55 clang cmake libssl-dev libzstd-dev libgtest-dev \
66 libbenchmark-dev zlib1g-dev build-essential git
77
8- WORKDIR /app/vc/internal/verifier/zk
9- COPY ../internal/verifier/zk/lib ./lib
10- COPY ../internal/verifier/zk/lib/circuits/mdoc/circuits ./server/circuits/LONGFELLOW_V1
8+ # 1. Clone the external dependency
9+ RUN git clone https://github.com/google/longfellow-zk.git /tmp/longfellow-zk
1110
11+ WORKDIR /tmp/longfellow-zk
1212 RUN CXX=clang++ cmake -D CMAKE_BUILD_TYPE=Release -S lib -B build \
13- --install-prefix /app/vc/internal/verifier/zk/ install && \
13+ --install-prefix /usr/local/zk- install && \
1414 cd build && make -j$(nproc) install
1515
1616 WORKDIR /app
1717 COPY . .
18-
19-
20- RUN find /app -name "mdoc_zk.h" && find /app -name "*.a"
18+ # Ensure 'vendor' was created on host via `go mod vendor`
19+ COPY vendor/ ./vendor/
2120
2221 RUN --mount=type=cache,target=/root/.cache/go-build \
2322 CGO_ENABLED=1 \
24- CGO_CFLAGS="-I/app/vc/internal/verifier/zk/install/include" \
25- CGO_LDFLAGS="-L/app/vc/internal/verifier/zk/install/lib -lmdoc_static -lcrypto -lzstd -lstdc++" \
26- GOOS=linux GOARCH=amd64 \
27- go build -v -o /app/bin/vc_verifier ./cmd/verifier/main.go
28-
23+ CGO_CFLAGS="-I/usr/local/zk-install/include" \
24+ CGO_LDFLAGS="-L/usr/local/zk-install/lib -lmdoc_static -lcrypto -lzstd -lstdc++" \
25+ go build -mod=vendor -v -o /app/bin/vc_verifier ./cmd/verifier/main.go
26+
2927 # --- Stage 2: Final Runtime Image ---
3028 FROM docker.sunet.se/dc4eu/verifier:latest
3129
3230 USER root
3331 RUN apt update -y && apt install -y libssl3 libzstd1 zlib1g && rm -rf /var/lib/apt/lists/*
3432
33+ # Copy the binary
3534 COPY --from=builder /app/bin/vc_verifier /usr/local/bin/verifier
36- COPY --from=builder /app/vc/internal/verifier/zk/server/circuits /app/vc/internal/verifier/zk/circuits/
37-
38- COPY --from=builder /app/vc/internal/verifier/zk/install/lib /usr/local/lib/
39- COPY ../internal/verifier/zk/certs.pem /app/vc/internal/verifier/zk/certs.pem
35+ COPY --from=builder /tmp/longfellow-zk/lib/circuits /app/vc/internal/verifier/zk/circuits/
4036
37+ # Copy compiled libraries
38+ COPY --from=builder /usr/local/zk-install/lib /usr/local/lib/
4139 RUN ldconfig
4240
43-
4441 WORKDIR /
45-
46- ENTRYPOINT ["/usr/local/bin/verifier" ]
47-
42+ ENTRYPOINT ["/usr/local/bin/verifier" ]
0 commit comments