Skip to content

Commit 973f944

Browse files
utsavanand2alexellis
authored andcommitted
Fixes: #47 Add multi-arch support for golang-http-template
Signed-off-by: Utsav Anand <[email protected]>
1 parent 158d288 commit 973f944

File tree

4 files changed

+44
-20
lines changed

4 files changed

+44
-20
lines changed

template/golang-http-armhf/Dockerfile

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
FROM openfaas/of-watchdog:0.8.0 as watchdog
2-
FROM golang:1.13-alpine3.11 as build
1+
FROM --platform=${TARGETPLATFORM:-linux/amd64} openfaas/of-watchdog:0.8.0 as watchdog
2+
FROM --platform=${BUILDPLATFORM:-linux/amd64} golang:1.13-alpine3.11 as build
3+
4+
ARG TARGETPLATFORM
5+
ARG BUILDPLATFORM
6+
ARG TARGETOS
7+
ARG TARGETARCH
38

49
RUN apk --no-cache add git
510

@@ -18,10 +23,11 @@ RUN test -z "$(gofmt -l $(find . -type f -name '*.go' -not -path "./vendor/*" -n
1823
ARG GO111MODULE="off"
1924
ARG GOPROXY=""
2025

21-
RUN go build --ldflags "-s -w" -a -installsuffix cgo -o handler .
22-
RUN go test handler/function/... -cover
26+
RUN CGO_ENABLED=${CGO_ENABLED} GOOS=${TARGETOS} GOARCH=${TARGETARCH} \
27+
go build --ldflags "-s -w" -a -installsuffix cgo -o handler .
28+
RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go test handler/function/... -cover
2329

24-
FROM alpine:3.11
30+
FROM --platform=${TARGETPLATFORM:-linux/amd64} alpine:3.11
2531
# Add non root user and certs
2632
RUN apk --no-cache add ca-certificates \
2733
&& addgroup -S app && adduser -S -g app app \

template/golang-http/Dockerfile

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
FROM openfaas/of-watchdog:0.8.0 as watchdog
2-
FROM golang:1.13-alpine3.11 as build
1+
FROM --platform=${TARGETPLATFORM:-linux/amd64} openfaas/of-watchdog:0.8.0 as watchdog
2+
FROM --platform=${BUILDPLATFORM:-linux/amd64} golang:1.13-alpine3.11 as build
3+
4+
ARG TARGETPLATFORM
5+
ARG BUILDPLATFORM
6+
ARG TARGETOS
7+
ARG TARGETARCH
38

49
RUN apk --no-cache add git
510

@@ -18,10 +23,11 @@ RUN test -z "$(gofmt -l $(find . -type f -name '*.go' -not -path "./vendor/*" -n
1823
ARG GO111MODULE="off"
1924
ARG GOPROXY=""
2025

21-
RUN go build --ldflags "-s -w" -a -installsuffix cgo -o handler .
22-
RUN go test handler/function/... -cover
26+
RUN CGO_ENABLED=${CGO_ENABLED} GOOS=${TARGETOS} GOARCH=${TARGETARCH} \
27+
go build --ldflags "-s -w" -a -installsuffix cgo -o handler .
28+
RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go test handler/function/... -cover
2329

24-
FROM alpine:3.11
30+
FROM --platform=${TARGETPLATFORM:-linux/amd64} alpine:3.11
2531
# Add non root user and certs
2632
RUN apk --no-cache add ca-certificates \
2733
&& addgroup -S app && adduser -S -g app app \

template/golang-middleware-armhf/Dockerfile

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
FROM openfaas/of-watchdog:0.8.0 as watchdog
2-
FROM golang:1.13-alpine3.11 as build
1+
FROM --platform=${TARGETPLATFORM:-linux/amd64} openfaas/of-watchdog:0.8.0 as watchdog
2+
FROM --platform=${BUILDPLATFORM:-linux/amd64} golang:1.13-alpine3.11 as build
3+
4+
ARG TARGETPLATFORM
5+
ARG BUILDPLATFORM
6+
ARG TARGETOS
7+
ARG TARGETARCH
38

49
RUN apk --no-cache add git
510

@@ -18,10 +23,11 @@ RUN test -z "$(gofmt -l $(find . -type f -name '*.go' -not -path "./vendor/*" -n
1823
ARG GO111MODULE="off"
1924
ARG GOPROXY=""
2025

21-
RUN go build --ldflags "-s -w" -a -installsuffix cgo -o handler .
22-
RUN go test handler/function/... -cover
26+
RUN CGO_ENABLED=${CGO_ENABLED} GOOS=${TARGETOS} GOARCH=${TARGETARCH} \
27+
go build --ldflags "-s -w" -a -installsuffix cgo -o handler .
28+
RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go test handler/function/... -cover
2329

24-
FROM alpine:3.11
30+
FROM --platform=${TARGETPLATFORM} alpine:3.11
2531
# Add non root user and certs
2632
RUN apk --no-cache add ca-certificates \
2733
&& addgroup -S app && adduser -S -g app app \

template/golang-middleware/Dockerfile

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
FROM openfaas/of-watchdog:0.8.0 as watchdog
2-
FROM golang:1.13-alpine3.11 as build
1+
FROM --platform=${TARGETPLATFORM:-linux/amd64} openfaas/of-watchdog:0.8.0 as watchdog
2+
FROM --platform=${BUILDPLATFORM:-linux/amd64} golang:1.13-alpine3.11 as build
3+
4+
ARG TARGETPLATFORM
5+
ARG BUILDPLATFORM
6+
ARG TARGETOS
7+
ARG TARGETARCH
38

49
RUN apk --no-cache add git
510

@@ -24,12 +29,13 @@ ARG GOFLAGS=""
2429

2530
WORKDIR /go/src/handler/function
2631

27-
RUN go test ./... -cover
32+
RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go test ./... -cover
2833

2934
WORKDIR /go/src/handler
30-
RUN go build --ldflags "-s -w" -a -installsuffix cgo -o handler .
35+
RUN CGO_ENABLED=${CGO_ENABLED} GOOS=${TARGETOS} GOARCH=${TARGETARCH} \
36+
go build --ldflags "-s -w" -a -installsuffix cgo -o handler .
3137

32-
FROM alpine:3.11
38+
FROM --platform=${TARGETPLATFORM:-linux/amd64} alpine:3.11
3339
# Add non root user and certs
3440
RUN apk --no-cache add ca-certificates \
3541
&& addgroup -S app && adduser -S -g app app \

0 commit comments

Comments
 (0)