#!/usr/bin/env bash

set -euxo pipefail

VERSION=${REF#"refs/tags/"}
DIST=`pwd`/dist
BIN=agora

echo "Packaging $BIN $VERSION for $TARGET..."

echo "Building $BIN..."

case $OS in
  ubuntu-latest | macos-latest)
    cargo build --bin $BIN --target $TARGET --release
    EXECUTABLE=target/$TARGET/release/$BIN
    ;;
  windows-latest)
    cargo rustc --bin $BIN --target $TARGET --release -- --codegen target-feature="+crt-static"
    EXECUTABLE=target/$TARGET/release/$BIN.exe
    ;;
esac

echo "Copying release files..."
mkdir dist
cp \
  $EXECUTABLE \
  Cargo.lock \
  Cargo.toml \
  LICENSE \
  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
