diff --git a/.github/workflows/main.yml b/.github/workflows/master.yml similarity index 58% rename from .github/workflows/main.yml rename to .github/workflows/master.yml index fb02d18..b1d8043 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/master.yml @@ -1,52 +1,47 @@ -# This is a basic workflow to help you get started with Actions +name: Build and Publish (master) -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 + build-amd64: 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 + - uses: actions/checkout@v2 - 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,IMAGE=scratch + + build-arm32: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 - name: Build and Push Docker Image (Linux - ARM32) uses: docker/build-push-action@v1 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} repository: ekofr/pihole-exporter - tag_with_sha: true tags: arm32 - build_args: OS=linux,ARCH=arm32,IMAGE=arm32v7/alpine:3.11 + build_args: OS=linux,ARCH=arm,IMAGE=arm32v7/alpine:3.11 + + build-arm64: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 - 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,IMAGE=arm64v8/alpine:3.11 diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml new file mode 100644 index 0000000..70c8923 --- /dev/null +++ b/.github/workflows/tag.yml @@ -0,0 +1,55 @@ +name: Build and Publish (tag) + +on: + push: + tags: + - '*' + +jobs: + build-amd64: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Get the version + id: get_version + run: echo ::set-output name=TAG_NAME::${GITHUB_REF/refs\/tags\//} + - 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 + tags: amd64,${{ steps.get_version.outputs.TAG_NAME }} + build_args: OS=linux,ARCH=amd64,IMAGE=scratch + + build-arm32: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Get the version + id: get_version + run: echo ::set-output name=TAG_NAME::${GITHUB_REF/refs\/tags\//} + - name: Build and Push Docker Image (Linux - ARM32) + uses: docker/build-push-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + repository: ekofr/pihole-exporter + tags: arm32,${{ steps.get_version.outputs.TAG_NAME }} + build_args: OS=linux,ARCH=arm,IMAGE=arm32v7/alpine:3.11 + + build-arm64: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Get the version + id: get_version + run: echo ::set-output name=TAG_NAME::${GITHUB_REF/refs\/tags\//} + - 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 + tags: arm64,${{ steps.get_version.outputs.TAG_NAME }} + build_args: OS=linux,ARCH=arm64,IMAGE=arm64v8/alpine:3.11 diff --git a/Dockerfile b/Dockerfile index 901cfeb..1207b0b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ -FROM golang:alpine as builder - +ARG IMAGE=scratch ARG OS=linux ARG ARCH=amd64 -ARG IMAGE=scratch + +FROM golang:alpine as builder WORKDIR /go/src/github.com/eko/pihole-exporter COPY . .