docker-pdns/.github/workflows/docker-image.yml
2023-12-19 14:41:18 +01:00

211 lines
7.2 KiB
YAML

name: Docker Image CI
on:
push:
branches: [ master ]
jobs:
build-recursor-latest:
runs-on: ubuntu-latest
steps:
- name: Check Out Repo
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
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@v5
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 }}
build-recursor-alpine:
runs-on: ubuntu-latest
steps:
- name: Check Out Repo
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push PDNS Recursor alpine
id: docker_build_recursor_alpine
uses: docker/build-push-action@v5
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 }}
build-pdns-latest:
runs-on: ubuntu-latest
steps:
- name: Check Out Repo
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push PDNS latest
id: docker_build_pdns_latest
uses: docker/build-push-action@v5
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 }}
build-pdns-alpine:
runs-on: ubuntu-latest
steps:
- name: Check Out Repo
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push PDNS alpine
id: docker_build_pdns_alpine
uses: docker/build-push-action@v5
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 }}
build-admin-base:
runs-on: ubuntu-latest
steps:
- name: Check Out Repo
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push admin base
id: docker_build_admin_base
uses: docker/build-push-action@v5
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 }}
build-admin-uwsgi:
runs-on: ubuntu-latest
needs: build-admin-base
steps:
- name: Check Out Repo
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push admin uwsgi
id: docker_build_admin_uwsgi
uses: docker/build-push-action@v5
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 }}
build-admin-static:
runs-on: ubuntu-latest
needs: build-admin-base
steps:
- name: Check Out Repo
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push admin static
id: docker_build_admin_static
uses: docker/build-push-action@v5
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 }}