22set -euo pipefail
33
44write_output () {
5- if [[ -n " ${GITHUB_OUTPUT:- } " ]]; then
6- echo " $1 " >> " ${GITHUB_OUTPUT} "
7- else
8- echo " $1 "
9- fi
5+ if [[ -n " ${GITHUB_OUTPUT:- } " ]]; then
6+ echo " $1 " >> " ${GITHUB_OUTPUT} "
7+ else
8+ echo " $1 "
9+ fi
1010}
1111
1212get_php_version () {
13- local version=" $1 "
14- skopeo inspect " docker://docker.io/library/php:${version} " \
15- --override-os linux \
16- --override-arch amd64 |
17- jq -r ' .Env[] | select(test("^PHP_VERSION=")) | sub("^PHP_VERSION="; "")'
13+ local version=" $1 "
14+ skopeo inspect " docker://docker.io/library/php:${version} " \
15+ --override-os linux \
16+ --override-arch amd64 |
17+ jq -r ' .Env[] | select(test("^PHP_VERSION=")) | sub("^PHP_VERSION="; "")'
1818}
1919
2020PHP_82_LATEST=" $( get_php_version 8.2) "
@@ -30,55 +30,55 @@ write_output "php84_version=${PHP_84_LATEST//./-}"
3030write_output " php85_version=${PHP_85_LATEST// ./ -} "
3131
3232if [[ " ${GITHUB_EVENT_NAME:- } " == " schedule" ]]; then
33- FRANKENPHP_LATEST_TAG=" $( gh release view --repo php/frankenphp --json tagName --jq ' .tagName' ) "
34- git checkout " ${FRANKENPHP_LATEST_TAG} "
33+ FRANKENPHP_LATEST_TAG=" $( gh release view --repo php/frankenphp --json tagName --jq ' .tagName' ) "
34+ git checkout " ${FRANKENPHP_LATEST_TAG} "
3535fi
3636
3737METADATA=" $( PHP_VERSION=" ${PHP_VERSION} " docker buildx bake --print | jq -c) "
3838
3939BASE_IMAGES=()
4040while IFS= read -r image; do
41- BASE_IMAGES+=(" ${image} " )
41+ BASE_IMAGES+=(" ${image} " )
4242done < <( jq -r '
43- .target[]?.contexts? | to_entries[]?
44- | select(.value | startswith("docker-image://"))
45- | .value
46- | sub("^docker-image://"; "")
47- ' <<< " ${METADATA}" | sort -u)
43+ .target[]?.contexts? | to_entries[]?
44+ | select(.value | startswith("docker-image://"))
45+ | .value
46+ | sub("^docker-image://"; "")
47+ ' <<< " ${METADATA}" | sort -u)
4848
4949BASE_IMAGE_DIGESTS=()
5050for image in " ${BASE_IMAGES[@]} " ; do
51- if [[ " ${image} " == * /* ]]; then
52- ref=" docker://docker.io/${image} "
53- else
54- ref=" docker://docker.io/library/${image} "
55- fi
56- digest=" $( skopeo inspect " ${ref} " \
57- --override-os linux \
58- --override-arch amd64 \
59- --format ' {{.Digest}}' ) "
60- BASE_IMAGE_DIGESTS+=(" ${image} @${digest} " )
51+ if [[ " ${image} " == * /* ]]; then
52+ ref=" docker://docker.io/${image} "
53+ else
54+ ref=" docker://docker.io/library/${image} "
55+ fi
56+ digest=" $( skopeo inspect " ${ref} " \
57+ --override-os linux \
58+ --override-arch amd64 \
59+ --format ' {{.Digest}}' ) "
60+ BASE_IMAGE_DIGESTS+=(" ${image} @${digest} " )
6161done
6262
6363BASE_FINGERPRINT=" $( printf ' %s\n' " ${BASE_IMAGE_DIGESTS[@]} " | sort | sha256sum | awk ' {print $1}' ) "
6464write_output " base_fingerprint=${BASE_FINGERPRINT} "
6565
6666if [[ " ${GITHUB_EVENT_NAME:- } " != " schedule" ]]; then
67- write_output " skip=false"
68- exit 0
67+ write_output " skip=false"
68+ exit 0
6969fi
7070
7171FRANKENPHP_LATEST_TAG_NO_PREFIX=" ${FRANKENPHP_LATEST_TAG# v} "
7272EXISTING_FINGERPRINT=$(
73- skopeo inspect " docker://docker.io/dunglas/frankenphp:${FRANKENPHP_LATEST_TAG_NO_PREFIX} " \
74- --override-os linux \
75- --override-arch amd64 |
76- jq -r ' .Labels["dev.frankenphp.base.fingerprint"] // empty'
73+ skopeo inspect " docker://docker.io/dunglas/frankenphp:${FRANKENPHP_LATEST_TAG_NO_PREFIX} " \
74+ --override-os linux \
75+ --override-arch amd64 |
76+ jq -r ' .Labels["dev.frankenphp.base.fingerprint"] // empty'
7777)
7878
7979if [[ -n " ${EXISTING_FINGERPRINT} " ]] && [[ " ${EXISTING_FINGERPRINT} " == " ${BASE_FINGERPRINT} " ]]; then
80- write_output " skip=true"
81- exit 0
80+ write_output " skip=true"
81+ exit 0
8282fi
8383
8484write_output " ref=${FRANKENPHP_LATEST_TAG} "
0 commit comments