SEBA-902 single-olt tests;
Pin protoc-gen-go to 1.3.2 to resolve compatibility issue;
Run go mod tidy / go mod vendor on importer;
Add Go Module support to demotest
Change-Id: Ifde824fc9a6317b0adc1e12bea54ee1f9b788906
diff --git a/demo_test/Dockerfile b/demo_test/Dockerfile
index d7113ba..01e3163 100644
--- a/demo_test/Dockerfile
+++ b/demo_test/Dockerfile
@@ -16,18 +16,14 @@
FROM golang:1.12 AS build-env
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN /bin/true | cat
+ENV GO111MODULE=on
RUN apt-get update && apt-get install --no-install-recommends -y --allow-downgrades \
git=1:2.20.1-2+deb10u1 \
gcc=4:8.3.0-1 \
curl=7.64.0-4 \
unzip=6.0-23+deb10u1
-# Install these prereqs now so they get built into a container layer and cached
-# TODO: Revisit once demo-test implements mod=vendor
-RUN go get -v google.golang.org/grpc \
- && go get -v github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway \
- && go get -v github.com/golang/protobuf/protoc-gen-go \
- && go get github.com/sirupsen/logrus \
- && go get github.com/Shopify/sarama
+# Install protoc-gen-go.
+RUN go get -v github.com/golang/protobuf/protoc-gen-go@v1.3.2
# Install protoc, same steps as in main importer dockerfile
ENV PROTOC_VERSION="3.7.0"
ENV PROTOC_SHA256SUM="a1b8ed22d6dc53c5b8680a6f1760a305b33ef471bece482e92728f00ba2a2969"
@@ -40,20 +36,19 @@
RUN mkdir /app
COPY . /app/
WORKDIR /app
-ENV GO111MODULE=on
ENV PROTOC_VERSION="3.7.0"
ENV PROTOC_SHA256SUM="a1b8ed22d6dc53c5b8680a6f1760a305b33ef471bece482e92728f00ba2a2969"
WORKDIR /app/demo_test
-RUN make prereq
RUN make proto/importer.pb.go
# Note: "make demotest" produces an executable that throws "No such file" errors. Investigate.
-RUN GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -o demotest .
+RUN GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -mod=vendor -o demotest .
# Also build the client, as having it inside the container may facilitate testing without
-# having to setup port forwardin
+# having to setup port forwarding. `dm` does not use go.mod, so make sure GO111MODULE is
+# turned off.
WORKDIR /app/demo_test/functional_test
-RUN GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -o dm .
+RUN GO111MODULE=off CGO_ENABLED=0 GOOS=linux go build -o dm .
FROM alpine:3.9.4
WORKDIR /app/demo_test