just/bin/package

55 lines
1.1 KiB
Plaintext
Raw Permalink Normal View History

#!/usr/bin/env bash
set -euxo pipefail
2021-11-21 16:55:21 -08:00
VERSION=${REF#"refs/tags/"}
2021-12-05 02:51:15 -08:00
DIST=`pwd`/dist
2021-11-21 16:55:21 -08:00
echo "Packaging just $VERSION for $TARGET..."
test -f Cargo.lock || cargo generate-lockfile
echo "Installing rust toolchain for $TARGET..."
rustup target add $TARGET
if [[ $TARGET == aarch64-unknown-linux-musl ]]; then
export CC=aarch64-linux-gnu-gcc
fi
2021-11-21 16:55:21 -08:00
echo "Building just..."
RUSTFLAGS="--deny warnings --codegen target-feature=+crt-static $TARGET_RUSTFLAGS" \
cargo build --bin just --target $TARGET --release
EXECUTABLE=target/$TARGET/release/just
if [[ $OS == windows-latest ]]; then
2021-11-21 16:55:21 -08:00
EXECUTABLE=$EXECUTABLE.exe
fi
echo "Copying release files..."
mkdir dist
cp -r \
2021-11-21 16:55:21 -08:00
$EXECUTABLE \
Cargo.lock \
Cargo.toml \
GRAMMAR.md \
LICENSE \
README.md \
completions \
man/just.1 \
2021-11-21 16:55:21 -08:00
$DIST
2021-11-21 16:55:21 -08:00
cd $DIST
echo "Creating release archive..."
2021-11-21 16:55:21 -08:00
case $OS in
ubuntu-latest | macos-latest)
2021-11-21 16:55:21 -08:00
ARCHIVE=$DIST/just-$VERSION-$TARGET.tar.gz
tar czf $ARCHIVE *
echo "archive=$ARCHIVE" >> $GITHUB_OUTPUT
;;
windows-latest)
2021-11-21 16:55:21 -08:00
ARCHIVE=$DIST/just-$VERSION-$TARGET.zip
7z a $ARCHIVE *
echo "archive=`pwd -W`/just-$VERSION-$TARGET.zip" >> $GITHUB_OUTPUT
;;
esac