mirror of https://github.com/linkerd/linkerd2.git
41 lines
866 B
Bash
Executable File
41 lines
866 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eu
|
|
|
|
if [ $# -eq 1 ]; then
|
|
tag="${1:-}"
|
|
else
|
|
echo "usage: $(basename $0) tag" >&2
|
|
exit 64
|
|
fi
|
|
|
|
bindir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
rootdir="$( cd $bindir/.. && pwd )"
|
|
|
|
. $bindir/_docker.sh
|
|
|
|
workdir="$rootdir/target/release"
|
|
mkdir -p "$workdir"
|
|
|
|
shorttag="$tag"
|
|
if [ "${tag:0:1}" == "v" ]; then
|
|
shorttag="${tag:1}"
|
|
fi
|
|
|
|
# create the cli-bin container in order to extract the binaries
|
|
id=$(docker create "$(docker_repo cli-bin):$tag")
|
|
|
|
for os in darwin linux windows ; do
|
|
ext="$os"
|
|
if [ "$os" == "windows" ]; then
|
|
ext="windows.exe"
|
|
fi
|
|
filepath="$workdir/linkerd2-cli-$shorttag-$ext"
|
|
docker cp "$id:/out/linkerd-$os" "$filepath"
|
|
openssl dgst -sha256 "$filepath" | awk '{print $2}' > "$filepath.sha256"
|
|
echo "$filepath"
|
|
done
|
|
|
|
# cleanup the cli-bin container when finished
|
|
docker rm "$id" > /dev/null
|