From aeab918688dec36072ff8716bd592eff7acd5406 Mon Sep 17 00:00:00 2001 From: Chris Crone Date: Tue, 3 Nov 2020 18:37:28 +0100 Subject: [PATCH] tests: Replace Python test image with Go binary Signed-off-by: Chris Crone --- .../aci_secrets_resources/compose.yml | 2 +- .../aci_secrets_resources/web/Dockerfile | 13 ++++++--- .../aci_secrets_resources/web/main.go | 27 +++++++++++++++++++ 3 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 tests/composefiles/aci_secrets_resources/web/main.go diff --git a/tests/composefiles/aci_secrets_resources/compose.yml b/tests/composefiles/aci_secrets_resources/compose.yml index df765559a..294d81218 100644 --- a/tests/composefiles/aci_secrets_resources/compose.yml +++ b/tests/composefiles/aci_secrets_resources/compose.yml @@ -19,7 +19,7 @@ services: web2: build: ./web - image: dockerinternal/e2e_test_secret_server + image: dockerinternal/e2e_test_secret_server ports: - "8080:8080" environment: diff --git a/tests/composefiles/aci_secrets_resources/web/Dockerfile b/tests/composefiles/aci_secrets_resources/web/Dockerfile index 7ba39ce45..e02fc4e99 100644 --- a/tests/composefiles/aci_secrets_resources/web/Dockerfile +++ b/tests/composefiles/aci_secrets_resources/web/Dockerfile @@ -1,3 +1,6 @@ +# syntax=docker/dockerfile:experimental + + # Copyright 2020 Docker Compose CLI authors # Licensed under the Apache License, Version 2.0 (the "License"); @@ -12,7 +15,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM python:3.8 -WORKDIR /run/secrets +FROM golang:1.15-alpine AS build +COPY main.go . +RUN --mount=type=cache,target=/go/pkg/mod \ + CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o server main.go -CMD python -m http.server ${PORT:-80} +FROM alpine +COPY --from=build /go/server / +CMD /server "${PORT:-80}" "${DIR:-/run/secrets}" diff --git a/tests/composefiles/aci_secrets_resources/web/main.go b/tests/composefiles/aci_secrets_resources/web/main.go new file mode 100644 index 000000000..6d9afcc22 --- /dev/null +++ b/tests/composefiles/aci_secrets_resources/web/main.go @@ -0,0 +1,27 @@ +/* + Copyright 2020 Docker Compose CLI authors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +package main + +import ( + "log" + "net/http" + "os" +) + +func main() { + log.Fatal(http.ListenAndServe(":"+os.Args[1], http.FileServer(http.Dir(os.Args[2])))) +}