Skip to content

Commit 5066140

Browse files
fffonionbungle
authored andcommitted
fix(cd): use correct sha for PR based docker build (#12115)
use github.event.pull_request.head.sha instead of github.sha on a PR, as github.sha on PR is the merged commit (temporary commit). also correctly set the KONG_VERSION env var. * fix(cd): use correct sha for PR based docker build * fix(cd): set correct KONG_VERSION in docker image KAG-3251 (cherry picked from commit 7e5a113)
1 parent 2458993 commit 5066140

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

.github/workflows/release.yml

+16-11
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ jobs:
5757
deploy-environment: ${{ steps.build-info.outputs.deploy-environment }}
5858
matrix: ${{ steps.build-info.outputs.matrix }}
5959
arch: ${{ steps.build-info.outputs.arch }}
60+
# use github.event.pull_request.head.sha instead of github.sha on a PR, as github.sha on PR is the merged commit (temporary commit)
61+
commit-sha: ${{ github.event.pull_request.head.sha || github.sha }}
6062

6163
steps:
6264
- uses: actions/checkout@v3
@@ -344,11 +346,13 @@ jobs:
344346
- name: Docker meta
345347
id: meta
346348
uses: docker/metadata-action@v5
349+
env:
350+
DOCKER_METADATA_PR_HEAD_SHA: true
347351
with:
348352
images: ${{ needs.metadata.outputs.prerelease-docker-repository }}
349353
tags: |
350-
type=raw,${{ github.sha }}-${{ matrix.label }}
351-
type=raw,enable=${{ matrix.label == 'ubuntu' }},${{ github.sha }}
354+
type=raw,${{ needs.metadata.outputs.commit-sha }}-${{ matrix.label }}
355+
type=raw,enable=${{ matrix.label == 'ubuntu' }},${{ needs.metadata.outputs.commit-sha }}
352356
353357
- name: Set up QEMU
354358
if: matrix.docker-platforms != ''
@@ -392,6 +396,7 @@ jobs:
392396
build-args: |
393397
KONG_BASE_IMAGE=${{ matrix.base-image }}
394398
KONG_ARTIFACT_PATH=bazel-bin/pkg/
399+
KONG_VERSION=${{ needs.metadata.outputs.kong-version }}
395400
RPM_PLATFORM=${{ steps.docker_rpm_platform_arg.outputs.rpm_platform }}
396401
EE_PORTS=8002 8445 8003 8446 8004 8447
397402
@@ -402,7 +407,7 @@ jobs:
402407
token: ${{ secrets.GHA_COMMENT_TOKEN }}
403408
body: |
404409
### Bazel Build
405-
Docker image available `${{ needs.metadata.outputs.prerelease-docker-repository }}:${{ github.sha }}`
410+
Docker image available `${{ needs.metadata.outputs.prerelease-docker-repository }}:${{ needs.metadata.outputs.commit-sha }}`
406411
Artifacts available https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
407412
408413
verify-manifest-images:
@@ -431,7 +436,7 @@ jobs:
431436
# docker image verify requires sudo to set correct permissions, so we
432437
# also install deps for root
433438
sudo -E pip install -r requirements.txt
434-
IMAGE=${{ env.PRERELEASE_DOCKER_REPOSITORY }}:${{ github.sha }}-${{ matrix.label }}
439+
IMAGE=${{ env.PRERELEASE_DOCKER_REPOSITORY }}:${{ needs.metadata.outputs.commit-sha }}-${{ matrix.label }}
435440
436441
sudo -E python ./main.py --image $IMAGE -f docker_image_filelist.txt -s docker-image
437442
@@ -453,7 +458,7 @@ jobs:
453458
matrix:
454459
include: "${{ fromJSON(needs.metadata.outputs.matrix)['scan-vulnerabilities'] }}"
455460
env:
456-
IMAGE: ${{ needs.metadata.outputs.prerelease-docker-repository }}:${{ github.sha }}-${{ matrix.label }}
461+
IMAGE: ${{ needs.metadata.outputs.prerelease-docker-repository }}:${{ needs.metadata.outputs.commit-sha }}-${{ matrix.label }}
457462
steps:
458463
- name: Install regctl
459464
uses: regclient/actions/regctl-installer@main
@@ -492,16 +497,16 @@ jobs:
492497
if: steps.image_manifest_metadata.outputs.amd64_sha != ''
493498
uses: Kong/public-shared-actions/security-actions/scan-docker-image@v1
494499
with:
495-
asset_prefix: kong-${{ github.sha }}-${{ matrix.label }}-linux-amd64
496-
image: ${{ needs.metadata.outputs.prerelease-docker-repository }}:${{ github.sha }}-${{ matrix.label }}
500+
asset_prefix: kong-${{ needs.metadata.outputs.commit-sha }}-${{ matrix.label }}-linux-amd64
501+
image: ${{ needs.metadata.outputs.prerelease-docker-repository }}:${{ needs.metadata.outputs.commit-sha }}-${{ matrix.label }}
497502

498503
- name: Scan ARM64 Image digest
499504
if: steps.image_manifest_metadata.outputs.manifest_list_exists == 'true' && steps.image_manifest_metadata.outputs.arm64_sha != ''
500505
id: sbom_action_arm64
501506
uses: Kong/public-shared-actions/security-actions/scan-docker-image@v1
502507
with:
503-
asset_prefix: kong-${{ github.sha }}-${{ matrix.label }}-linux-arm64
504-
image: ${{ needs.metadata.outputs.prerelease-docker-repository }}:${{ github.sha }}-${{ matrix.label }}
508+
asset_prefix: kong-${{ needs.metadata.outputs.commit-sha }}-${{ matrix.label }}-linux-arm64
509+
image: ${{ needs.metadata.outputs.prerelease-docker-repository }}:${{ needs.metadata.outputs.commit-sha }}-${{ matrix.label }}
505510

506511
smoke-tests:
507512
name: Smoke Tests - ${{ matrix.label }}
@@ -554,7 +559,7 @@ jobs:
554559
--restart always \
555560
--network=host -d \
556561
--pull always \
557-
${{ env.PRERELEASE_DOCKER_REPOSITORY }}:${{ github.sha }}-${{ matrix.label }} \
562+
${{ env.PRERELEASE_DOCKER_REPOSITORY }}:${{ needs.metadata.outputs.commit-sha }}-${{ matrix.label }} \
558563
sh -c "kong migrations bootstrap && kong start"
559564
sleep 3
560565
docker logs kong
@@ -699,7 +704,7 @@ jobs:
699704
env:
700705
TAGS: "${{ steps.meta.outputs.tags }}"
701706
run: |
702-
PRERELEASE_IMAGE=${{ env.PRERELEASE_DOCKER_REPOSITORY }}:${{ github.sha }}-${{ matrix.label }}
707+
PRERELEASE_IMAGE=${{ env.PRERELEASE_DOCKER_REPOSITORY }}:${{ needs.metadata.outputs.commit-sha }}-${{ matrix.label }}
703708
docker pull $PRERELEASE_IMAGE
704709
for tag in $TAGS; do
705710
regctl -v debug image copy $PRERELEASE_IMAGE $tag

0 commit comments

Comments
 (0)