Merge pull request #35 from SShah7433/feature/cross-platform-build
Automatically create amd64 and arm64 Docker images
This commit is contained in:
commit
bd901d9bb4
2 changed files with 47 additions and 1 deletions
43
.github/workflows/main.yml
vendored
Normal file
43
.github/workflows/main.yml
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
# This is a basic workflow to help you get started with Actions
|
||||
|
||||
name: CI
|
||||
|
||||
# Controls when the action will run. Triggers the workflow on push or pull request
|
||||
# events but only for the master branch
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
# This workflow contains a single job called "build"
|
||||
build:
|
||||
# The type of runner that the job will run on
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
# Runs a single command using the runners shell
|
||||
- name: Build and Push Docker Image (Linux - AMD64)
|
||||
uses: docker/build-push-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
repository: ekofr/pihole-exporter
|
||||
tag_with_sha: true
|
||||
tags: amd64
|
||||
build_args: OS=linux,ARCH=amd64
|
||||
- name: Build and Push Docker Image (Linux - ARM64)
|
||||
uses: docker/build-push-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
repository: ekofr/pihole-exporter
|
||||
tag_with_sha: true
|
||||
tags: arm64
|
||||
build_args: OS=linux,ARCH=arm64
|
|
@ -1,5 +1,8 @@
|
|||
FROM golang:alpine as builder
|
||||
|
||||
ARG OS=linux
|
||||
ARG ARCH=amd64
|
||||
|
||||
WORKDIR /go/src/github.com/eko/pihole-exporter
|
||||
COPY . .
|
||||
|
||||
|
@ -7,7 +10,7 @@ RUN apk update && \
|
|||
apk --no-cache add git alpine-sdk upx
|
||||
|
||||
RUN GO111MODULE=on go mod vendor
|
||||
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags '-s -w' -o binary ./
|
||||
RUN CGO_ENABLED=0 GOOS=$OS GOARCH=$ARCH go build -ldflags '-s -w' -o binary ./
|
||||
RUN upx -f --brute binary
|
||||
|
||||
FROM scratch
|
||||
|
|
Loading…
Reference in a new issue