43 lines
1.1 KiB
Bash
43 lines
1.1 KiB
Bash
# This script takes care of building your crate and packaging it for release
|
|
|
|
set -ex
|
|
|
|
main() {
|
|
local src=$(pwd) \
|
|
stage=
|
|
|
|
case $TRAVIS_OS_NAME in
|
|
linux)
|
|
stage=$(mktemp -d)
|
|
;;
|
|
osx)
|
|
stage=$(mktemp -d -t tmp)
|
|
;;
|
|
esac
|
|
|
|
test -f Cargo.lock || cargo generate-lockfile
|
|
|
|
# TODO Update this to build the artifacts that matter to you
|
|
cross rustc --bin wireguard-proxy --target $TARGET --release -- -C lto
|
|
|
|
# TODO Update this to package the right artifacts, this needs to handle .exe too...
|
|
case $TARGET in
|
|
x86_64-pc-windows-gnu)
|
|
strip target/$TARGET/release/wireguard-proxy.exe || echo 'strip failed, ignoring...'
|
|
cp target/$TARGET/release/wireguard-proxy.exe $stage/
|
|
;;
|
|
*)
|
|
strip target/$TARGET/release/wireguard-proxy || echo 'strip failed, ignoring...'
|
|
cp target/$TARGET/release/wireguard-proxy $stage/
|
|
;;
|
|
esac
|
|
|
|
cd $stage
|
|
tar czf $src/$CRATE_NAME-$TRAVIS_TAG-$TARGET.tar.gz *
|
|
cd $src
|
|
|
|
rm -rf $stage
|
|
}
|
|
|
|
main
|