docker-pdns/.github/workflows/docker-image.yml
Chongyi Zheng ecb0ec7685
Build arm64 images in CI (#96)
* Configure arm64 build for workflows

* Add Arm builds to `docker-image.yml`

* Format yaml file

* Remove arm/v7 since Fedora has no official image for it
2023-02-23 22:43:12 +01:00

133 lines
4.3 KiB
YAML

name: Docker Image CI
on:
push:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check Out Repo
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push PDNS Recursor latest
id: docker_build_recursor_latest
uses: docker/build-push-action@v3
with:
context: ./pdns-recursor
file: ./pdns-recursor/Dockerfile
platforms: linux/amd64,linux/arm64
builder: ${{ steps.buildx.outputs.name }}
push: true
tags: ${{ secrets.DOCKER_HUB_USERNAME }}/pdns-recursor:latest
- name: Image digest
run: echo ${{ steps.docker_build_recursor_latest.outputs.digest }}
- name: Build and push PDNS Recursor alpine
id: docker_build_recursor_alpine
uses: docker/build-push-action@v3
with:
context: ./pdns-recursor
file: ./pdns-recursor/Dockerfile.alpine
platforms: linux/amd64,linux/arm64
builder: ${{ steps.buildx.outputs.name }}
push: true
tags: ${{ secrets.DOCKER_HUB_USERNAME }}/pdns-recursor:alpine
- name: Image digest
run: echo ${{ steps.docker_build_recursor_alpine.outputs.digest }}
- name: Build and push PDNS latest
id: docker_build_pdns_latest
uses: docker/build-push-action@v3
with:
context: ./pdns
file: ./pdns/Dockerfile
platforms: linux/amd64,linux/arm64
builder: ${{ steps.buildx.outputs.name }}
push: true
tags: ${{ secrets.DOCKER_HUB_USERNAME }}/pdns-mysql:latest
- name: Image digest
run: echo ${{ steps.docker_build_pdns_latest.outputs.digest }}
- name: Build and push PDNS alpine
id: docker_build_pdns_alpine
uses: docker/build-push-action@v3
with:
context: ./pdns
file: ./pdns/Dockerfile.alpine
platforms: linux/amd64,linux/arm64
builder: ${{ steps.buildx.outputs.name }}
push: true
tags: ${{ secrets.DOCKER_HUB_USERNAME }}/pdns-mysql:alpine
- name: Image digest
run: echo ${{ steps.docker_build_pdns_alpine.outputs.digest }}
- name: Build and push admin base
id: docker_build_admin_base
uses: docker/build-push-action@v3
with:
context: ./pdns-admin-base-ngoduykhanh
file: ./pdns-admin-base-ngoduykhanh/Dockerfile
platforms: linux/amd64,linux/arm64
builder: ${{ steps.buildx.outputs.name }}
push: true
tags: |
${{ secrets.DOCKER_HUB_USERNAME }}/pdns-admin-base:latest
${{ secrets.DOCKER_HUB_USERNAME }}/pdns-admin-base:ngoduykhanh
- name: Image digest
run: echo ${{ steps.docker_build_admin_base.outputs.digest }}
- name: Build and push admin uwsgi
id: docker_build_admin_uwsgi
uses: docker/build-push-action@v3
with:
context: ./pdns-admin-uwsgi-ngoduykhanh
file: ./pdns-admin-uwsgi-ngoduykhanh/Dockerfile
platforms: linux/amd64,linux/arm64
builder: ${{ steps.buildx.outputs.name }}
push: true
tags: |
${{ secrets.DOCKER_HUB_USERNAME }}/pdns-admin-uwsgi:latest
${{ secrets.DOCKER_HUB_USERNAME }}/pdns-admin-uwsgi:ngoduykhanh
- name: Image digest
run: echo ${{ steps.docker_build_admin_uwsgi.outputs.digest }}
- name: Build and push admin static
id: docker_build_admin_static
uses: docker/build-push-action@v3
with:
context: ./pdns-admin-static-ngoduykhanh
file: ./pdns-admin-static-ngoduykhanh/Dockerfile
platforms: linux/amd64,linux/arm64
builder: ${{ steps.buildx.outputs.name }}
push: true
tags: |
${{ secrets.DOCKER_HUB_USERNAME }}/pdns-admin-static:latest
${{ secrets.DOCKER_HUB_USERNAME }}/pdns-admin-static:ngoduykhanh
- name: Image digest
run: echo ${{ steps.docker_build_admin_static.outputs.digest }}