mirror of
https://github.com/tonarino/innernet.git
synced 2025-02-09 13:47:14 +02:00
meta: release.sh
cargo-release doesn't do everything we want during the release process, so a separate script ends up being necessary if I don't want to forget steps.
This commit is contained in:
parent
a87d56cfc9
commit
0a0ce0793d
@ -1,15 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
if ! command -v help2man &> /dev/null
|
||||
then
|
||||
echo "help2man binary could not be found"
|
||||
exit
|
||||
fi
|
||||
|
||||
cargo build
|
||||
|
||||
for binary in "innernet" "innernet-server"; do
|
||||
help2man --no-discard-stderr -s8 "target/debug/$binary" -N > "doc/$binary.8"
|
||||
gzip -f "doc/$binary.8"
|
||||
done
|
37
release.sh
Executable file
37
release.sh
Executable file
@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
die () {
|
||||
echo >&2 "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
for command in help2man cargo-release; do
|
||||
if ! command -v $command &> /dev/null
|
||||
then
|
||||
echo "$command binary could not be found"
|
||||
exit
|
||||
fi
|
||||
done
|
||||
|
||||
[ "$#" -eq 1 ] || die "usage: ./release.sh [patch|major|minor|rc]"
|
||||
git diff --quiet || die 'ERROR: git repo is dirty.'
|
||||
|
||||
cargo build
|
||||
|
||||
for binary in "innernet" "innernet-server"; do
|
||||
help2man --no-discard-stderr -s8 "target/debug/$binary" -N > "doc/$binary.8"
|
||||
gzip -f "doc/$binary.8"
|
||||
done
|
||||
|
||||
git add doc
|
||||
git commit -m "meta: update manpages"
|
||||
cargo release "$1" --no-confirm --exclude "hostsfile"
|
||||
|
||||
# re-stage the manpage commit and the cargo-release commit
|
||||
git reset --soft @~2
|
||||
|
||||
VERSION="$(cargo pkgid -p shared | cut -d '#' -f 2)"
|
||||
|
||||
git commit -m "meta: release v$VERSION"
|
||||
git tag "v$VERSION"
|
Loading…
x
Reference in New Issue
Block a user