Skip to content

build(deps): bump docker/build-push-action from 6.11.0 to 6.12.0 (#52) #18

build(deps): bump docker/build-push-action from 6.11.0 to 6.12.0 (#52)

build(deps): bump docker/build-push-action from 6.11.0 to 6.12.0 (#52) #18

name: Build & Publish
on:
push:
branches:
- "master"
jobs:
do:
runs-on: ubuntu-24.04
strategy:
matrix:
version:
- {
dnsmasq: 2.90-r3,
tag: latest,
}
- {
dnsmasq: 2.90-r3,
tag: edge,
}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Check credentials
id: docker-credentials
run: |
echo defined=$(test -n "${{ secrets.DOCKERHUB_USERNAME }}" && echo true || echo false) >> $GITHUB_OUTPUT
- name: Check Quay.io credentials
id: quayio-credentials
run: |
echo defined=$(test -n "${{ secrets.QUAYIO_USERNAME }}" && echo true || echo false) >> $GITHUB_OUTPUT
- name: Set up QEMU
uses: docker/setup-qemu-action@53851d14592bedcffcf25ea515637cff71ef929a # v3.3.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3.8.0
- name: Login to Docker Hub
if: steps.docker-credentials.outputs.defined == 'true'
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Login to Quay.io
if: steps.quayio-credentials.outputs.defined == 'true'
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: quay.io
username: ${{ secrets.QUAYIO_USERNAME }}
password: ${{ secrets.QUAYIO_PASSWORD }}
- name: Get release
id: release
run: |
echo rel=$(sed 's/^.*://' .github/releases/${{ matrix.version.tag }}/Dockerfile) >> $GITHUB_OUTPUT
- name: Split release components
id: split
run: |
echo majorminor=$(echo ${{ steps.release.outputs.rel }} | awk -F. '{ print $1 "." $2 }') >> $GITHUB_OUTPUT
echo major=$(echo ${{ steps.release.outputs.rel }} | awk -F. '{ print $1 }') >> $GITHUB_OUTPUT
- name: Docker meta
id: meta
uses: docker/metadata-action@369eb591f429131d6889c46b94e711f089e6ca96 # v5.6.1
with:
images: |
${{ github.repository_owner }}/dnsmasq
quay.io/${{ github.repository_owner }}/dnsmasq
tags: |
${{ matrix.version.tag != 'edge' && format('{0}', matrix.version.dnsmasq) || '' }}
${{ format('{0}-alpine-{1}', matrix.version.dnsmasq, steps.release.outputs.rel) || '' }}
${{ matrix.version.tag != 'edge' && format('{0}-alpine-{1}', matrix.version.dnsmasq, steps.split.outputs.majorminor) || '' }}
${{ matrix.version.tag != 'edge' && format('{0}-alpine-{1}', matrix.version.dnsmasq, steps.split.outputs.major) || '' }}
${{ matrix.version.dnsmasq }}-alpine-${{ matrix.version.tag }}
${{ matrix.version.tag }}
- name: Build and push
if: steps.docker-credentials.outputs.defined == 'true'
id: docker-build
uses: docker/build-push-action@67a2d409c0a876cbe6b11854e3e25193efe4e62d # v6.12.0
with:
context: .
build-args: ALPINE_RELEASE=${{ steps.release.outputs.rel }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
- name: Image digest
run: |
echo ${{ steps.docker-build.outputs.digest }}