44 lines
1.3 KiB
Bash
44 lines
1.3 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
|
|
cross rustc --bin wireguard-proxyd --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 target/$TARGET/release/wireguard-proxyd.exe || echo 'strip failed, ignoring...'
|
|
cp target/$TARGET/release/wireguard-proxy.exe target/$TARGET/release/wireguard-proxyd.exe $stage/
|
|
;;
|
|
*)
|
|
strip target/$TARGET/release/wireguard-proxy target/$TARGET/release/wireguard-proxyd || echo 'strip failed, ignoring...'
|
|
cp target/$TARGET/release/wireguard-proxy target/$TARGET/release/wireguard-proxyd $stage/
|
|
;;
|
|
esac
|
|
|
|
cd $stage
|
|
tar czf $src/$CRATE_NAME-$TRAVIS_TAG-$TARGET.tar.gz *
|
|
cd $src
|
|
|
|
rm -rf $stage
|
|
}
|
|
|
|
main
|