Skip to content

Commit

Permalink
Build go binaries without QEMU
Browse files Browse the repository at this point in the history
  • Loading branch information
Scott Edlund authored and ginuerzh committed Apr 14, 2020
1 parent f0c9079 commit 6e46ac0
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 18 deletions.
32 changes: 16 additions & 16 deletions .github/workflows/buildx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,14 @@ jobs:

- name: Docker Buildx (no push)
run: |
docker buildx build \
--platform ${{ steps.prepare.outputs.docker_platforms }} \
--output "type=image,push=false" \
--build-arg "VERSION=${{ steps.prepare.outputs.version }}" \
--build-arg "BUILD_DATE=${{ steps.prepare.outputs.build_date }}" \
--build-arg "VCS_REF=${GITHUB_SHA::8}" \
--tag "${{ steps.prepare.outputs.docker_image }}:${{ steps.prepare.outputs.version }}" \
--file Dockerfile .
docker buildx bake \
--set ${{ github.event.repository.name }}.platform=${{ steps.prepare.outputs.docker_platforms }} \
--set ${{ github.event.repository.name }}.output=type=image,push=false \
--set ${{ github.event.repository.name }}.args.VERSION=${{ steps.prepare.outputs.version }} \
--set ${{ github.event.repository.name }}.args.BUILD_DATE=${{ steps.prepare.outputs.build_date }} \
--set ${{ github.event.repository.name }}.args.VCS_REF=${GITHUB_SHA::8} \
--set ${{ github.event.repository.name }}.tags="${{ steps.prepare.outputs.docker_image }}:${{ steps.prepare.outputs.version }}" \
--file docker-compose.yaml
- name: Docker Login
if: success()
Expand All @@ -66,14 +66,14 @@ jobs:
- name: Docker Buildx (push)
if: success()
run: |
docker buildx build \
--platform ${{ steps.prepare.outputs.docker_platforms }} \
--output "type=image,push=true" \
--build-arg "VERSION=${{ steps.prepare.outputs.version }}" \
--build-arg "BUILD_DATE=${{ steps.prepare.outputs.build_date }}" \
--build-arg "VCS_REF=${GITHUB_SHA::8}" \
--tag "${{ steps.prepare.outputs.docker_image }}:${{ steps.prepare.outputs.version }}" \
--file Dockerfile .
docker buildx bake \
--set ${{ github.event.repository.name }}.platform=${{ steps.prepare.outputs.docker_platforms }} \
--set ${{ github.event.repository.name }}.output=type=image,push=true \
--set ${{ github.event.repository.name }}.args.VERSION=${{ steps.prepare.outputs.version }} \
--set ${{ github.event.repository.name }}.args.BUILD_DATE=${{ steps.prepare.outputs.build_date }} \
--set ${{ github.event.repository.name }}.args.VCS_REF=${GITHUB_SHA::8} \
--set ${{ github.event.repository.name }}.tags="${{ steps.prepare.outputs.docker_image }}:${{ steps.prepare.outputs.version }}" \
--file docker-compose.yaml
- name: Clear
if: always()
Expand Down
10 changes: 8 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
FROM golang:1-alpine as builder
FROM --platform=$BUILDPLATFORM golang:1-alpine as builder

# Convert TARGETPLATFORM to GOARCH format
# https://github.com/tonistiigi/xx
COPY --from=tonistiigi/xx:golang / /

ARG TARGETPLATFORM

RUN apk add --no-cache musl-dev git gcc

Expand All @@ -8,7 +14,7 @@ WORKDIR /src

ENV GO111MODULE=on

RUN cd cmd/gost && go build
RUN cd cmd/gost && go env && go build -v

FROM alpine:latest

Expand Down
4 changes: 4 additions & 0 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
version: "3.4"
services:
gost:
build: .

0 comments on commit 6e46ac0

Please sign in to comment.