mirror of
https://github.com/docker/docker-credential-helpers.git
synced 2026-06-14 00:11:28 +05:30
056f8792b7
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
60 lines
1.4 KiB
Bash
Executable File
60 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
: "${BUILDX_CMD=docker buildx}"
|
|
: "${DESTDIR=./bin/release}"
|
|
: "${CACHE_FROM=}"
|
|
: "${CACHE_TO=}"
|
|
|
|
: "${SIGN=}"
|
|
: "${PFX=}"
|
|
: "${PFXPASSWORD=}"
|
|
|
|
if [ -n "$CACHE_FROM" ]; then
|
|
for cfrom in $CACHE_FROM; do
|
|
cacheFlags+=(--set "*.cache-from=$cfrom")
|
|
done
|
|
fi
|
|
if [ -n "$CACHE_TO" ]; then
|
|
for cto in $CACHE_TO; do
|
|
cacheFlags+=(--set "*.cache-to=$cto")
|
|
done
|
|
fi
|
|
|
|
dockerpfx=$(mktemp -t dockercredhelper-pfx.XXXXXXXXXX)
|
|
function clean {
|
|
rm -f "$dockerpfx"
|
|
}
|
|
trap clean EXIT
|
|
|
|
# release
|
|
(
|
|
set -x
|
|
${BUILDX_CMD} bake "${cacheFlags[@]}" --set "*.output=$DESTDIR" release
|
|
)
|
|
|
|
# wrap binaries
|
|
mv -f ./${DESTDIR}/**/* ./${DESTDIR}/
|
|
find ./${DESTDIR} -type d -empty -delete
|
|
|
|
# sign binaries
|
|
if [ -n "$SIGN" ]; then
|
|
for f in "${DESTDIR}"/*".darwin-"*; do
|
|
SIGNINGHASH=$(security find-identity -v -p codesigning | grep "Developer ID Application: Docker Inc" | cut -d ' ' -f 4)
|
|
xcrun -log codesign -s "$SIGNINGHASH" --force --verbose "$f"
|
|
xcrun codesign --verify --deep --strict --verbose=2 --display "$f"
|
|
done
|
|
for f in "${DESTDIR}"/*".windows-"*; do
|
|
echo ${PFX} | base64 -d > "$dockerpfx"
|
|
signtool sign /fd SHA256 /a /f pfx /p ${PFXPASSWORD} /d Docker /du https://www.docker.com /t http://timestamp.verisign.com/scripts/timestamp.dll "$f"
|
|
done
|
|
fi
|
|
|
|
# checksums
|
|
(
|
|
cd ${DESTDIR}
|
|
sha256sum -b docker-credential-* > ./checksums.txt
|
|
sha256sum -c --strict checksums.txt
|
|
)
|