Extract base image preparation script (#748)
This commit is contained in:
parent
e557cc9070
commit
0f14da2623
34
.github/scripts/prepare-base-image-refs.sh
vendored
Executable file
34
.github/scripts/prepare-base-image-refs.sh
vendored
Executable file
@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
REGISTRY=${REGISTRY:?REGISTRY is required}
|
||||
ORG=${ORG:?ORG is required}
|
||||
|
||||
declare -A IMAGES=(
|
||||
[GO_RUNTIME_DIGEST]="go-runtime"
|
||||
[NODE_BUILDER_DIGEST]="node-builder"
|
||||
[NODE_RUNTIME_DIGEST]="node-runtime"
|
||||
[OPENRESTY_GEOIP_DIGEST]="openresty-geoip"
|
||||
[POSTGRES_RUNTIME_DIGEST]="postgres-runtime"
|
||||
)
|
||||
|
||||
write_image_ref() {
|
||||
local env_name=$1
|
||||
local digest=$2
|
||||
local image=$3
|
||||
local ref
|
||||
|
||||
if [[ -n "$digest" ]]; then
|
||||
ref="${REGISTRY}/${ORG}/${image}@${digest}"
|
||||
else
|
||||
ref="${REGISTRY}/${ORG}/${image}:main"
|
||||
fi
|
||||
|
||||
echo "${env_name}=${ref}" >> "${GITHUB_ENV}"
|
||||
}
|
||||
|
||||
for digest_var in "${!IMAGES[@]}"; do
|
||||
image_name=${IMAGES[${digest_var}]}
|
||||
digest_value=${!digest_var-}
|
||||
write_image_ref "${digest_var/_DIGEST/_IMAGE_REF}" "${digest_value}" "${image_name}"
|
||||
done
|
||||
13
.github/workflows/build-service-images.yml
vendored
13
.github/workflows/build-service-images.yml
vendored
@ -101,6 +101,9 @@ jobs:
|
||||
- uses: docker/setup-qemu-action@v3
|
||||
- uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Prepare base image references
|
||||
run: ./.github/scripts/prepare-base-image-refs.sh
|
||||
|
||||
# -----------------------------
|
||||
# Build Service Images
|
||||
# -----------------------------
|
||||
@ -114,11 +117,11 @@ jobs:
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
build-args: |
|
||||
GO_BASE_IMAGE=${{ env.REGISTRY }}/${{ env.ORG }}/go-runtime@${{ env.GO_RUNTIME_DIGEST }}
|
||||
NODE_BUILDER_IMAGE=${{ env.REGISTRY }}/${{ env.ORG }}/node-builder@${{ env.NODE_BUILDER_DIGEST }}
|
||||
NODE_RUNTIME_IMAGE=${{ env.REGISTRY }}/${{ env.ORG }}/node-runtime@${{ env.NODE_RUNTIME_DIGEST }}
|
||||
OPENRESTY_GEOIP_IMAGE=${{ env.REGISTRY }}/${{ env.ORG }}/openresty-geoip@${{ env.OPENRESTY_GEOIP_DIGEST }}
|
||||
POSTGRES_RUNTIME_IMAGE=${{ env.REGISTRY }}/${{ env.ORG }}/postgres-runtime@${{ env.POSTGRES_RUNTIME_DIGEST }}
|
||||
GO_BASE_IMAGE=${{ env.GO_RUNTIME_IMAGE_REF }}
|
||||
NODE_BUILDER_IMAGE=${{ env.NODE_BUILDER_IMAGE_REF }}
|
||||
NODE_RUNTIME_IMAGE=${{ env.NODE_RUNTIME_IMAGE_REF }}
|
||||
OPENRESTY_GEOIP_IMAGE=${{ env.OPENRESTY_GEOIP_IMAGE_REF }}
|
||||
POSTGRES_RUNTIME_IMAGE=${{ env.POSTGRES_RUNTIME_IMAGE_REF }}
|
||||
|
||||
# -----------------------------
|
||||
# SBOM
|
||||
|
||||
Loading…
Reference in New Issue
Block a user