mirror of
https://github.com/rust-lang/mdBook
synced 2024-12-12 13:52:36 +00:00
49 lines
1.4 KiB
Bash
Executable file
49 lines
1.4 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Builds the release and creates an archive and optionally deploys to GitHub.
|
|
set -ex
|
|
|
|
if [[ -z "$GITHUB_REF" ]]
|
|
then
|
|
echo "GITHUB_REF must be set"
|
|
exit 1
|
|
fi
|
|
# Strip mdbook-refs/tags/ from the start of the ref.
|
|
TAG=${GITHUB_REF#*/tags/}
|
|
|
|
host=$(rustc -Vv | grep ^host: | sed -e "s/host: //g")
|
|
target=$2
|
|
export CARGO_PROFILE_RELEASE_LTO=true
|
|
cargo build --locked --bin mdbook --release --target $target
|
|
cd target/$target/release
|
|
case $1 in
|
|
ubuntu*)
|
|
asset="mdbook-$TAG-$target.tar.gz"
|
|
tar czf ../../$asset mdbook
|
|
;;
|
|
macos*)
|
|
asset="mdbook-$TAG-$target.tar.gz"
|
|
# There is a bug with BSD tar on macOS where the first 8MB of the file are
|
|
# sometimes all NUL bytes. See https://github.com/actions/cache/issues/403
|
|
# and https://github.com/rust-lang/cargo/issues/8603 for some more
|
|
# information. An alternative solution here is to install GNU tar, but
|
|
# flushing the disk cache seems to work, too.
|
|
sudo /usr/sbin/purge
|
|
tar czf ../../$asset mdbook
|
|
;;
|
|
windows*)
|
|
asset="mdbook-$TAG-$target.zip"
|
|
7z a ../../$asset mdbook.exe
|
|
;;
|
|
*)
|
|
echo "OS should be first parameter, was: $1"
|
|
;;
|
|
esac
|
|
cd ../..
|
|
|
|
if [[ -z "$GITHUB_ENV" ]]
|
|
then
|
|
echo "GITHUB_ENV not set, run: gh release upload $TAG target/$asset"
|
|
else
|
|
echo "MDBOOK_TAG=$TAG" >> $GITHUB_ENV
|
|
echo "MDBOOK_ASSET=target/$asset" >> $GITHUB_ENV
|
|
fi
|