Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 17 additions & 10 deletions .github/workflows/docker-buildx-bake-hubdocker-latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ jobs:
name: Create matrix
id: platforms
run: |
echo "matrix=$(docker buildx bake ${{ inputs.docker_bake_targets }}${{inputs.docker_bake_matrix_target_postfix}} --print | jq -cr '.target."${{ inputs.docker_bake_targets }}${{inputs.docker_bake_matrix_target_postfix}}".platforms')" >>${GITHUB_OUTPUT}
echo "matrix=$(docker buildx bake ${{ inputs.docker_bake_targets }}${{ inputs.docker_bake_matrix_target_postfix }} --print | jq -cr '.target."${{ inputs.docker_bake_targets }}${{ inputs.docker_bake_matrix_target_postfix }}".platforms')" >>${GITHUB_OUTPUT}
-
name: Show matrix
run: |
Expand Down Expand Up @@ -175,7 +175,7 @@ jobs:
with:
files: |
cwd://${{ inputs.docker_bake_config_file_path }}
cwd://${{ runner.temp }}/${{ inputs.docker_bake_targets}}/bake-meta.json
cwd://${{ runner.temp }}/${{ inputs.docker_bake_targets }}/bake-meta.json
targets: ${{ inputs.docker_bake_targets }}
no-cache: ${{ inputs.docker-build-no-cache }}
provenance: false
Expand All @@ -190,16 +190,23 @@ jobs:

- name: Extract container image digest from bake output
id: bake-output-container-image-digest
env:
BAKE_METADATA: ${{ steps.bake.outputs.metadata }}
run: |
echo "digest=$(echo '${{ steps.bake.outputs.metadata}}' | jq -cr '.["${{ inputs.docker_bake_targets }}"]["containerimage.digest"]')" >>$GITHUB_OUTPUT
digest="$(jq -cr --arg target "${{ inputs.docker_bake_targets }}" '.[$target]["containerimage.digest"] // empty' <<<"$BAKE_METADATA")"
if [ -z "$digest" ] || [ "$digest" = "null" ]; then
echo "failed to extract container image digest from bake output metadata"
exit 1
fi
echo "digest=$digest" >>$GITHUB_OUTPUT

-
name: Export digest
run: |
mkdir -p ${{ runner.temp }}/${{ inputs.docker_bake_targets}}/digests
mkdir -p ${{ runner.temp }}/${{ inputs.docker_bake_targets }}/digests
digest="${{ steps.bake-output-container-image-digest.outputs.digest }}"
touch "${{ runner.temp }}/${{ inputs.docker_bake_targets}}/digests/${digest#sha256:}"
ls -al ${{ runner.temp }}/${{ inputs.docker_bake_targets}}/digests
touch "${{ runner.temp }}/${{ inputs.docker_bake_targets }}/digests/${digest#sha256:}"
ls -al ${{ runner.temp }}/${{ inputs.docker_bake_targets }}/digests

-
name: Upload digest
Expand Down Expand Up @@ -249,14 +256,14 @@ jobs:
# name: digests
## https://github.com/actions/download-artifact/tree/v4?tab=readme-ov-file#breaking-changes
pattern: digests-latest-${{ github.run_id }}-${{ github.run_attempt }}-${{ inputs.docker_bake_targets }}-*
path: ${{ runner.temp }}/${{ inputs.docker_bake_targets}}/digests/
path: ${{ runner.temp }}/${{ inputs.docker_bake_targets }}/digests/
merge-multiple: true

-
name: check temp config files
run: |
ls -al ${{ runner.temp }}/${{ inputs.docker_bake_targets}}
ls -al ${{ runner.temp }}/${{ inputs.docker_bake_targets}}/digests/
ls -al ${{ runner.temp }}/${{ inputs.docker_bake_targets }}
ls -al ${{ runner.temp }}/${{ inputs.docker_bake_targets }}/digests/

-
name: Set up Docker Buildx
Expand All @@ -278,5 +285,5 @@ jobs:
-
name: Inspect image
run: |
tag=$(jq -r '.target."docker-metadata-action".args.DOCKER_META_VERSION' ${{ runner.temp }}/${{ inputs.docker_bake_targets}}/bake-meta.json)
tag=$(jq -r '.target."docker-metadata-action".args.DOCKER_META_VERSION' ${{ runner.temp }}/${{ inputs.docker_bake_targets }}/bake-meta.json)
docker buildx imagetools inspect ${{ vars.ENV_DOCKERHUB_OWNER }}/${{ vars.ENV_DOCKERHUB_REPO_NAME }}:${tag}
41 changes: 24 additions & 17 deletions .github/workflows/docker-buildx-bake-hubdocker-tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ jobs:
name: Create matrix
id: platforms
run: |
echo "matrix=$(docker buildx bake ${{ inputs.docker_bake_targets }}${{inputs.docker_bake_matrix_target_postfix}} --print | jq -cr '.target."${{ inputs.docker_bake_targets }}${{inputs.docker_bake_matrix_target_postfix}}".platforms')" >>${GITHUB_OUTPUT}
echo "matrix=$(docker buildx bake ${{ inputs.docker_bake_targets }}${{ inputs.docker_bake_matrix_target_postfix }} --print | jq -cr '.target."${{ inputs.docker_bake_targets }}${{ inputs.docker_bake_matrix_target_postfix }}".platforms')" >>${GITHUB_OUTPUT}
-
name: Show matrix
run: |
Expand Down Expand Up @@ -107,7 +107,7 @@ jobs:
${{ vars.ENV_DOCKERHUB_OWNER }}/${{ vars.ENV_DOCKERHUB_REPO_NAME }}
tags: |
# type semver https://github.com/docker/metadata-action#typesemver
type=semver,pattern={{version}}
type=semver,pattern={{ version }}
flavor: |
latest=auto
suffix=${{ inputs.docker-metadata-flavor-suffix }}
Expand All @@ -134,7 +134,7 @@ jobs:
if: ${{ inputs.push_remote_flag }}
with:
name: bake-tag-meta-${{ github.run_id }}-${{ github.run_attempt }}-${{ inputs.docker_bake_targets }}-${{ env.PLATFORM_PAIR }}
path: ${{ runner.temp }}/${{ inputs.docker_bake_targets}}/bake-meta.json
path: ${{ runner.temp }}/${{ inputs.docker_bake_targets }}/bake-meta.json
overwrite: true
if-no-files-found: error
retention-days: 1
Expand Down Expand Up @@ -163,8 +163,8 @@ jobs:
run: |
echo "docker_bake_config_file_path: ${{ inputs.docker_bake_config_file_path }}"
ls -al ${{ runner.temp }}/${{ inputs.docker_bake_targets}}
echo "show: ${{ runner.temp }}/${{ inputs.docker_bake_targets}}/bake-meta.json"
cat ${{ runner.temp }}/${{ inputs.docker_bake_targets}}/bake-meta.json
echo "show: ${{ runner.temp }}/${{ inputs.docker_bake_targets }}/bake-meta.json"
cat ${{ runner.temp }}/${{ inputs.docker_bake_targets }}/bake-meta.json

-
name: Build
Expand All @@ -174,7 +174,7 @@ jobs:
with:
files: |
cwd://${{ inputs.docker_bake_config_file_path }}
cwd://${{ runner.temp }}/${{ inputs.docker_bake_targets}}/bake-meta.json
cwd://${{ runner.temp }}/${{ inputs.docker_bake_targets }}/bake-meta.json
targets: ${{ inputs.docker_bake_targets }}
no-cache: ${{ inputs.docker-build-no-cache }}
provenance: false
Expand All @@ -189,16 +189,23 @@ jobs:

- name: Extract container image digest from bake output
id: bake-output-container-image-digest
env:
BAKE_METADATA: ${{ steps.bake.outputs.metadata }}
run: |
echo "digest=$(echo '${{ steps.bake.outputs.metadata}}' | jq -cr '.["${{ inputs.docker_bake_targets }}"]["containerimage.digest"]')" >>$GITHUB_OUTPUT
digest="$(jq -cr --arg target "${{ inputs.docker_bake_targets }}" '.[$target]["containerimage.digest"] // empty' <<<"$BAKE_METADATA")"
if [ -z "$digest" ] || [ "$digest" = "null" ]; then
echo "failed to extract container image digest from bake output metadata"
exit 1
fi
echo "digest=$digest" >>$GITHUB_OUTPUT

-
name: Export digest
run: |
mkdir -p ${{ runner.temp }}/${{ inputs.docker_bake_targets}}/digests
mkdir -p ${{ runner.temp }}/${{ inputs.docker_bake_targets }}/digests
digest="${{ steps.bake-output-container-image-digest.outputs.digest }}"
touch "${{ runner.temp }}/${{ inputs.docker_bake_targets}}/digests/${digest#sha256:}"
ls -al ${{ runner.temp }}/${{ inputs.docker_bake_targets}}/digests
touch "${{ runner.temp }}/${{ inputs.docker_bake_targets }}/digests/${digest#sha256:}"
ls -al ${{ runner.temp }}/${{ inputs.docker_bake_targets }}/digests

-
name: Upload digest
Expand All @@ -214,8 +221,8 @@ jobs:
-
name: check temp config files
run: |
ls -al ${{ runner.temp }}/${{ inputs.docker_bake_targets}}
ls -al ${{ runner.temp }}/${{ inputs.docker_bake_targets}}/digests/
ls -al ${{ runner.temp }}/${{ inputs.docker_bake_targets }}
ls -al ${{ runner.temp }}/${{ inputs.docker_bake_targets }}/digests/


merge:
Expand All @@ -228,8 +235,8 @@ jobs:
-
name: check temp path
run: |
mkdir -p ${{ runner.temp }}/${{ inputs.docker_bake_targets}}
ls -al ${{ runner.temp }}/${{ inputs.docker_bake_targets}}
mkdir -p ${{ runner.temp }}/${{ inputs.docker_bake_targets }}
ls -al ${{ runner.temp }}/${{ inputs.docker_bake_targets }}

-
name: Download meta bake definition
Expand All @@ -238,7 +245,7 @@ jobs:
# name: bake-meta
## https://github.com/actions/download-artifact/tree/v4?tab=readme-ov-file#breaking-changes
pattern: bake-tag-meta-${{ github.run_id }}-${{ github.run_attempt }}-${{ inputs.docker_bake_targets }}-*
path: ${{ runner.temp }}/${{ inputs.docker_bake_targets}}
path: ${{ runner.temp }}/${{ inputs.docker_bake_targets }}
merge-multiple: true

-
Expand Down Expand Up @@ -272,10 +279,10 @@ jobs:
name: Create manifest list and push
working-directory: ${{ runner.temp }}/${{ inputs.docker_bake_targets}}/digests/
run: |
docker buildx imagetools create $(jq -cr '.target."docker-metadata-action".tags | map(select(startswith("${{ vars.ENV_DOCKERHUB_OWNER }}/${{ vars.ENV_DOCKERHUB_REPO_NAME }}")) | "-t " + .) | join(" ")' ${{ runner.temp }}/${{ inputs.docker_bake_targets}}/bake-meta.json) \
docker buildx imagetools create $(jq -cr '.target."docker-metadata-action".tags | map(select(startswith("${{ vars.ENV_DOCKERHUB_OWNER }}/${{ vars.ENV_DOCKERHUB_REPO_NAME }}")) | "-t " + .) | join(" ")' ${{ runner.temp }}/${{ inputs.docker_bake_targets }}/bake-meta.json) \
$(printf '${{ vars.ENV_DOCKERHUB_OWNER }}/${{ vars.ENV_DOCKERHUB_REPO_NAME }}@sha256:%s ' *)
-
name: Inspect image
run: |
tag=$(jq -r '.target."docker-metadata-action".args.DOCKER_META_VERSION' ${{ runner.temp }}/${{ inputs.docker_bake_targets}}/bake-meta.json)
tag=$(jq -r '.target."docker-metadata-action".args.DOCKER_META_VERSION' ${{ runner.temp }}/${{ inputs.docker_bake_targets }}/bake-meta.json)
docker buildx imagetools inspect ${{ vars.ENV_DOCKERHUB_OWNER }}/${{ vars.ENV_DOCKERHUB_REPO_NAME }}:${tag}
Loading