You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
902 B
Bash
38 lines
902 B
Bash
#!/usr/bin/env bash
|
|
|
|
OUT=${1:-release-out}
|
|
|
|
. $(dirname $0)/util
|
|
set -eu -o pipefail
|
|
|
|
: ${PLATFORMS=linux/amd64}
|
|
: ${CHECKSUMS=}
|
|
|
|
importCacheFlags=""
|
|
if [[ -n "$cacheRefFrom" ]] && [[ "$cacheType" = "local" ]]; then
|
|
for ref in $cacheRefFrom; do
|
|
importCacheFlags="$importCacheFlags--cache-from=type=local,src=$ref "
|
|
done
|
|
fi
|
|
|
|
buildxCmd build $importCacheFlags \
|
|
--target "release" \
|
|
--platform "$PLATFORMS" \
|
|
--output "type=local,dest=$OUT" \
|
|
$currentcontext
|
|
|
|
# wrap binaries
|
|
{ set +x; } 2>/dev/null
|
|
if [[ $PLATFORMS =~ "," ]]; then
|
|
mv -f ./$OUT/**/* ./$OUT/
|
|
find ./$OUT -type d -empty -delete
|
|
fi
|
|
|
|
if [ -n "$CHECKSUMS" ]; then
|
|
if ! type shasum > /dev/null 2>&1; then
|
|
echo >&2 "ERROR: shasum is required"
|
|
exit 1
|
|
fi
|
|
find ./$OUT/ -type f \( -iname "buildx-*" ! -iname "*darwin*" \) -print0 | sort -z | xargs -r0 shasum -a 256 -b | sed 's# .*/# #' > ./$OUT/checksums.txt
|
|
fi
|