Update GitHub actions to have jobs running in parallel
This commit is contained in:
parent
548b6edc3e
commit
c3fc22f53c
3 changed files with 72 additions and 22 deletions
|
@ -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:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ master ]
|
branches: [ master ]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ master ]
|
branches: [ master ]
|
||||||
|
|
||||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
|
||||||
jobs:
|
jobs:
|
||||||
# This workflow contains a single job called "build"
|
build-amd64:
|
||||||
build:
|
|
||||||
# The type of runner that the job will run on
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
|
||||||
steps:
|
steps:
|
||||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
# Runs a single command using the runners shell
|
|
||||||
- name: Build and Push Docker Image (Linux - AMD64)
|
- name: Build and Push Docker Image (Linux - AMD64)
|
||||||
uses: docker/build-push-action@v1
|
uses: docker/build-push-action@v1
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
repository: ekofr/pihole-exporter
|
repository: ekofr/pihole-exporter
|
||||||
tag_with_sha: true
|
|
||||||
tags: amd64
|
tags: amd64
|
||||||
build_args: OS=linux,ARCH=amd64,IMAGE=scratch
|
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)
|
- name: Build and Push Docker Image (Linux - ARM32)
|
||||||
uses: docker/build-push-action@v1
|
uses: docker/build-push-action@v1
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
repository: ekofr/pihole-exporter
|
repository: ekofr/pihole-exporter
|
||||||
tag_with_sha: true
|
|
||||||
tags: arm32
|
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)
|
- name: Build and Push Docker Image (Linux - ARM64)
|
||||||
uses: docker/build-push-action@v1
|
uses: docker/build-push-action@v1
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
repository: ekofr/pihole-exporter
|
repository: ekofr/pihole-exporter
|
||||||
tag_with_sha: true
|
|
||||||
tags: arm64
|
tags: arm64
|
||||||
build_args: OS=linux,ARCH=arm64,IMAGE=arm64v8/alpine:3.11
|
build_args: OS=linux,ARCH=arm64,IMAGE=arm64v8/alpine:3.11
|
55
.github/workflows/tag.yml
vendored
Normal file
55
.github/workflows/tag.yml
vendored
Normal file
|
@ -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
|
|
@ -1,8 +1,8 @@
|
||||||
FROM golang:alpine as builder
|
ARG IMAGE=scratch
|
||||||
|
|
||||||
ARG OS=linux
|
ARG OS=linux
|
||||||
ARG ARCH=amd64
|
ARG ARCH=amd64
|
||||||
ARG IMAGE=scratch
|
|
||||||
|
FROM golang:alpine as builder
|
||||||
|
|
||||||
WORKDIR /go/src/github.com/eko/pihole-exporter
|
WORKDIR /go/src/github.com/eko/pihole-exporter
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
Loading…
Reference in a new issue