Skip to content

Commit

Permalink
Builds go vroom vroom
Browse files Browse the repository at this point in the history
  • Loading branch information
antoniomika committed May 29, 2020
1 parent d67561e commit 1a3406e
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 6 deletions.
1 change: 1 addition & 0 deletions .dockerignore
@@ -1,5 +1,6 @@
/.dockerignore
/Dockerfile
/Dockerfile.buildkit
/.git/
/.github/
/.gitignore
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/docker.yml
Expand Up @@ -45,4 +45,5 @@ jobs:
--build-arg DATE=${DATE} \
-t ${GITHUB_REPOSITORY}:${GITHUB_SHA} \
-t ${GITHUB_REPOSITORY}:${REF} \
-f Dockerfile.buildkit
${OTHER_TAGS} .
7 changes: 1 addition & 6 deletions .github/workflows/lint.yml
Expand Up @@ -10,16 +10,11 @@ jobs:
- name: Lint the codebase
run: |
docker run --rm -v $(pwd):/app -w /app golangci/golangci-lint:v1.27.0 golangci-lint run -E goimports
- name: Set up Docker Buildx
uses: crazy-max/ghaction-docker-buildx@v1
with:
version: latest
- name: Build and the Docker images
run: |
DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
docker buildx build \
--platform linux/arm/v7,linux/arm64,linux/amd64 \
docker build \
--cache-from ${GITHUB_REPOSITORY}-cache \
--build-arg VERSION=${GITHUB_SHA} \
--build-arg COMMIT=${GITHUB_SHA} \
Expand Down
40 changes: 40 additions & 0 deletions Dockerfile.buildkit
@@ -0,0 +1,40 @@
FROM --platform=$BUILDPLATFORM golang:1.14-alpine as builder
LABEL maintainer="Antonio Mika <me@antoniomika.me>"

ENV GOCACHE /gocache
ENV CGO_ENABLED 0

WORKDIR /app

RUN apk add --no-cache git ca-certificates

COPY go.mod .
COPY go.sum .

RUN go mod download

COPY . .

ARG VERSION=dev
ARG COMMIT=none
ARG DATE=unknown

ARG TARGETOS
ARG TARGETARCH

ENV GOOS=${TARGETOS} GOARCH=${TARGETARCH}

RUN go build -o /go/bin/sish -ldflags="-s -w -X github.com/antoniomika/sish/cmd.Version=${VERSION} -X github.com/antoniomika/sish/cmd.Commit=${COMMIT} -X github.com/antoniomika/sish/cmd.Date=${DATE}"

FROM scratch as release
LABEL maintainer="Antonio Mika <me@antoniomika.me>"

WORKDIR /app

COPY --from=builder /tmp /tmp
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=builder /app/deploy/pubkeys /app/deploy/pubkeys
COPY --from=builder /app/templates /app/templates
COPY --from=builder /go/bin/sish /app/sish

ENTRYPOINT ["/app/sish"]

0 comments on commit 1a3406e

Please sign in to comment.