Add cli/scripts/build_*.sh
scripts to build CLI binaries.
This commit is contained in:
parent
af0a8a71f5
commit
d890331817
24
cli/scripts/build_darwin.sh
Executable file
24
cli/scripts/build_darwin.sh
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -eu
|
||||||
|
if [ -n "${DEBUG:-}" ]; then set -x; fi
|
||||||
|
|
||||||
|
if [ "`uname`" != "Darwin" ]; then
|
||||||
|
echo ">>> $0 must be executed on Darwin platform, aborting"
|
||||||
|
exit 11
|
||||||
|
fi
|
||||||
|
|
||||||
|
VERSION="${1:-${VERSION}}"
|
||||||
|
|
||||||
|
echo "--> Building Darwin release artifact version $VERSION"
|
||||||
|
pushd `dirname $0`/../../
|
||||||
|
PLATFORM="`uname | tr [[:upper:]] [[:lower:]]`_`uname -m`"
|
||||||
|
BIN=target/release/names
|
||||||
|
cd cli
|
||||||
|
cargo build --verbose --release
|
||||||
|
strip "$BIN"
|
||||||
|
ZIPFILE="`pwd`/target/`basename $BIN`_${VERSION}_$PLATFORM.zip"
|
||||||
|
(cd "`dirname $BIN`"; zip -9 "$ZIPFILE" "`basename $BIN`")
|
||||||
|
cd `dirname $ZIPFILE`
|
||||||
|
shasum -a 256 `basename $ZIPFILE` > `basename $ZIPFILE`.sha256
|
||||||
|
popd
|
||||||
|
echo "--> Finished build Darwin release artifact version $VERSION."
|
45
cli/scripts/build_docker.sh
Executable file
45
cli/scripts/build_docker.sh
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -eu
|
||||||
|
if [ -n "${DEBUG:-}" ]; then set -x; fi
|
||||||
|
|
||||||
|
if ! command -v docker >/dev/null; then
|
||||||
|
echo ">>> $0 must be executed on a system with Docker installed, aborting"
|
||||||
|
exit 11
|
||||||
|
fi
|
||||||
|
|
||||||
|
on_exit() {
|
||||||
|
if [ -d "${docker_context:-}" ]; then
|
||||||
|
echo "Cleaning up Docker context $docker_context"
|
||||||
|
rm -rf "$docker_context"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
trap on_exit 1 2 3 15 ERR
|
||||||
|
|
||||||
|
VERSION="${1:-${VERSION}}"
|
||||||
|
docker_context="`mktemp -d -t build_docker-XXXX`"
|
||||||
|
repo="fnichol/names"
|
||||||
|
github_repo="https://github.com/$repo/releases/download"
|
||||||
|
|
||||||
|
echo "--> Building Docker release artifact version $VERSION"
|
||||||
|
pushd "$docker_context"
|
||||||
|
curl -fsSLO \
|
||||||
|
"$github_repo/v${VERSION}/names_${VERSION}_linux_x86_64.zip"
|
||||||
|
curl -fsSLO \
|
||||||
|
"$github_repo/v${VERSION}/names_${VERSION}_linux_x86_64.zip.sha256"
|
||||||
|
shasum -a 256 -c names_*.zip.sha256
|
||||||
|
unzip names_*.zip
|
||||||
|
rm -f names_*.zip
|
||||||
|
|
||||||
|
cat <<_DOCKERFILE_ >Dockerfile
|
||||||
|
FROM scratch
|
||||||
|
MAINTAINER Fletcher Nichol <fnichol@nichol.ca>
|
||||||
|
ADD names /names
|
||||||
|
ENTRYPOINT ["/names"]
|
||||||
|
CMD ["--help"]
|
||||||
|
_DOCKERFILE_
|
||||||
|
|
||||||
|
docker build -t "$repo:$VERSION" .
|
||||||
|
if [ -n "${LATEST:-}" ]; then docker build -t "$repo:latest" .; fi
|
||||||
|
popd
|
||||||
|
echo "--> Finished build Docker release artifact version $VERSION."
|
30
cli/scripts/build_linux.sh
Executable file
30
cli/scripts/build_linux.sh
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -eu
|
||||||
|
if [ -n "${DEBUG:-}" ]; then set -x; fi
|
||||||
|
|
||||||
|
if ! command -v docker >/dev/null; then
|
||||||
|
echo ">>> $0 must be executed on a system with Docker installed, aborting"
|
||||||
|
exit 11
|
||||||
|
fi
|
||||||
|
|
||||||
|
VERSION="${1:-${VERSION}}"
|
||||||
|
|
||||||
|
echo "--> Building Linux release artifact version $VERSION"
|
||||||
|
pushd `dirname $0`/../../
|
||||||
|
docker run --rm -v `pwd`:/src -e VERSION=$VERSION fnichol/rust:1.4.0-musl \
|
||||||
|
bash -c 'set -eux
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y zip
|
||||||
|
PLATFORM="`uname | tr [[:upper:]] [[:lower:]]`_`uname -m`"
|
||||||
|
TARGET=x86_64-unknown-linux-musl
|
||||||
|
BIN=target/$TARGET/release/names
|
||||||
|
cd cli
|
||||||
|
cargo build --verbose --release --target=$TARGET
|
||||||
|
strip "$BIN"
|
||||||
|
ZIPFILE="`pwd`/target/`basename $BIN`_${VERSION}_$PLATFORM.zip"
|
||||||
|
(cd "`dirname $BIN`"; zip -9 "$ZIPFILE" "`basename $BIN`")
|
||||||
|
cd `dirname $ZIPFILE`
|
||||||
|
shasum -a 256 `basename $ZIPFILE` > `basename $ZIPFILE`.sha256
|
||||||
|
'
|
||||||
|
popd
|
||||||
|
echo "--> Finished build Linux release artifact version $VERSION."
|
Loading…
Reference in New Issue
Block a user