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 }}