From 338eadba3f678a6505fd0df13f7fc65bd6dd6e6e Mon Sep 17 00:00:00 2001 From: dennisvang <29799340+dennisvang@users.noreply.github.com> Date: Mon, 25 Aug 2025 18:41:02 +0200 Subject: [PATCH 1/4] add build-args input for docker-publish workflow --- .github/workflows/docker-publish.yml | 7 +++++++ .github/workflows/test-docker-publish.yml | 1 + 2 files changed, 8 insertions(+) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 4f789ec..5e854cb 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -20,6 +20,11 @@ on: description: 'Determines if the resulting Docker image is pushed to Docker Hub' required: true type: boolean + build-args: + description: 'List of Docker build arguments (--build-arg), formatted as JSON array' + required: false + default: "[]" # e.g. "['PROJECT_VERSION=1.2.3', '...']" + type: string context: description: 'Docker build context' required: false @@ -85,6 +90,8 @@ jobs: name: Build and push Docker image uses: docker/build-push-action@v6 with: + # https://docs.github.com/en/actions/reference/workflows-and-actions/expressions#fromjson + build-args: ${{ fromJSON(inputs.build-args) }} context: ${{ inputs.context }} # https://docs.docker.com/build/concepts/dockerfile/#filename file: ${{ inputs.file }} diff --git a/.github/workflows/test-docker-publish.yml b/.github/workflows/test-docker-publish.yml index 6d2c036..46b5f44 100644 --- a/.github/workflows/test-docker-publish.yml +++ b/.github/workflows/test-docker-publish.yml @@ -15,4 +15,5 @@ jobs: uses: ./.github/workflows/docker-publish.yml secrets: inherit with: + build-args: "['PROJECT_VERSION=2.3.4']" push: ${{ github.event_name != 'pull_request' }} From 40d2d42c2e43a3ad808fc8a28ccfac93e101e1d7 Mon Sep 17 00:00:00 2001 From: dennisvang <29799340+dennisvang@users.noreply.github.com> Date: Mon, 25 Aug 2025 18:51:25 +0200 Subject: [PATCH 2/4] use newline-delimited string as used by build-push-action https://github.com/docker/build-push-action?tab=readme-ov-file#inputs --- .github/workflows/docker-publish.yml | 6 ++++-- .github/workflows/test-docker-publish.yml | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 5e854cb..23d6002 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -21,9 +21,11 @@ on: required: true type: boolean build-args: - description: 'List of Docker build arguments (--build-arg), formatted as JSON array' + # Example of newline-delimited string (https://github.com/docker/build-push-action?tab=readme-ov-file#inputs): + # build-args: | + # PROJECT_VERSION=1.2.3 + description: 'List of Docker build arguments (--build-arg), formatted as newline-delimited string' required: false - default: "[]" # e.g. "['PROJECT_VERSION=1.2.3', '...']" type: string context: description: 'Docker build context' diff --git a/.github/workflows/test-docker-publish.yml b/.github/workflows/test-docker-publish.yml index 46b5f44..b1046f5 100644 --- a/.github/workflows/test-docker-publish.yml +++ b/.github/workflows/test-docker-publish.yml @@ -15,5 +15,7 @@ jobs: uses: ./.github/workflows/docker-publish.yml secrets: inherit with: - build-args: "['PROJECT_VERSION=2.3.4']" + # https://github.com/docker/build-push-action?tab=readme-ov-file#inputs requires list as newline-delimited string + build-args: | + PROJECT_VERSION=1.2.3 push: ${{ github.event_name != 'pull_request' }} From 3a73c5dad78f990dc997c4b299ff414531e78f99 Mon Sep 17 00:00:00 2001 From: dennisvang <29799340+dennisvang@users.noreply.github.com> Date: Mon, 25 Aug 2025 18:52:31 +0200 Subject: [PATCH 3/4] remove build-args from test-docker-publish to check backward compatibility --- .github/workflows/test-docker-publish.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/test-docker-publish.yml b/.github/workflows/test-docker-publish.yml index b1046f5..6d2c036 100644 --- a/.github/workflows/test-docker-publish.yml +++ b/.github/workflows/test-docker-publish.yml @@ -15,7 +15,4 @@ jobs: uses: ./.github/workflows/docker-publish.yml secrets: inherit with: - # https://github.com/docker/build-push-action?tab=readme-ov-file#inputs requires list as newline-delimited string - build-args: | - PROJECT_VERSION=1.2.3 push: ${{ github.event_name != 'pull_request' }} From 42f981dc96965a6f181e2e9bc7cb5d5071d2ca4d Mon Sep 17 00:00:00 2001 From: dennisvang <29799340+dennisvang@users.noreply.github.com> Date: Mon, 25 Aug 2025 19:31:02 +0200 Subject: [PATCH 4/4] remove fromJSON --- .github/workflows/docker-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 23d6002..2a05b3a 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -92,8 +92,8 @@ jobs: name: Build and push Docker image uses: docker/build-push-action@v6 with: - # https://docs.github.com/en/actions/reference/workflows-and-actions/expressions#fromjson - build-args: ${{ fromJSON(inputs.build-args) }} + # https://github.com/docker/build-push-action?tab=readme-ov-file#inputs + build-args: ${{ inputs.build-args }} context: ${{ inputs.context }} # https://docs.docker.com/build/concepts/dockerfile/#filename file: ${{ inputs.file }}