set -euxo pipefail
VERSION=${REF#"refs/tags/"}
DIST=`pwd`/dist
BIN=${GITHUB_REPOSITORY##*/}
echo "Packaging $BIN $VERSION for $TARGET..."
test -f Cargo.lock || cargo generate-lockfile
echo "All gcc"
compgen -c | grep gcc
echo "Building $BIN..."
RUSTFLAGS="--deny warnings --codegen target-feature=+crt-static $TARGET_RUSTFLAGS" \
cargo build --bin $BIN --target $TARGET --release
EXECUTABLE=target/$TARGET/release/$BIN
if [[ $OS == windows-latest ]]; then
EXECUTABLE=$EXECUTABLE.exe
fi
echo "Copying release files..."
mkdir dist
cp \
$EXECUTABLE \
Cargo.lock \
Cargo.toml \
LICENSE.md \
README.md \
$DIST
cd $DIST
echo "Creating release archive..."
case $OS in
ubuntu-latest | macos-latest)
ARCHIVE=$DIST/$BIN-$VERSION-$TARGET.tar.gz
tar czf $ARCHIVE *
echo "::set-output name=archive::$ARCHIVE"
;;
windows-latest)
ARCHIVE=$DIST/$BIN-$VERSION-$TARGET.zip
7z a $ARCHIVE *
echo "::set-output name=archive::`pwd -W`/$BIN-$VERSION-$TARGET.zip"
;;
esac