Add package script
type: distribution
This commit is contained in:
parent
cf59a58c67
commit
ff3a30ae21
52
bin/package
Executable file
52
bin/package
Executable file
|
@ -0,0 +1,52 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -euxo pipefail
|
||||
|
||||
version=${1#"refs/tags/"}
|
||||
os=$2
|
||||
target=$3
|
||||
src=`pwd`
|
||||
dist=$src/dist
|
||||
bin=imdl
|
||||
|
||||
echo "Packaging $bin $version for $target..."
|
||||
|
||||
test -f Cargo.lock || cargo generate-lockfile
|
||||
|
||||
echo "Building $bin..."
|
||||
|
||||
case $os in
|
||||
ubuntu-latest | macos-latest)
|
||||
cargo rustc --bin $bin --target $target --release -- -C lto
|
||||
executable=target/$target/release/$bin
|
||||
;;
|
||||
windows-latest)
|
||||
cargo rustc --bin $bin --target $target --release -- -C lto -C 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
|
Loading…
Reference in New Issue
Block a user