mirror of
https://github.com/italicsjenga/agb.git
synced 2025-01-22 23:26:33 +11:00
Add simple release script to automate tag generation
This commit is contained in:
parent
75490dedc0
commit
6c1b2786ec
1 changed files with 66 additions and 0 deletions
66
release.sh
Executable file
66
release.sh
Executable file
|
@ -0,0 +1,66 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Fail if any command fails
|
||||
set -e
|
||||
|
||||
PROJECT=$1
|
||||
VERSION=$2
|
||||
|
||||
# Sanity check that we actually have a version
|
||||
if [ "$VERSION" = "" ]; then
|
||||
echo "Usage $0 <project> <version>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Set up $DIRECTORY and $TAGNAME
|
||||
case "$PROJECT" in
|
||||
agb)
|
||||
DIRECTORY="agb"
|
||||
TAGNAME="v$VERSION"
|
||||
;;
|
||||
agb-image-converter)
|
||||
DIRECTORY="agb-image-converter"
|
||||
TAGNAME="agb-image-converter/v$VERSION"
|
||||
;;
|
||||
mgba-test-runner)
|
||||
DIRECTORY="mgba-test-runner"
|
||||
TAGNAME="mgba-test-runner/v$VERSION"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown project name $PROJECT"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Check that no out-standing changes in git
|
||||
if [ ! -z "$(git status --porcelain)" ]; then
|
||||
echo "Uncommitted changes, please commit first"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Sanity check to make sure the build works
|
||||
(cd agb && cargo test)
|
||||
(cd agb-image-converter && cargo test)
|
||||
|
||||
# Update the version in Cargo.toml
|
||||
sed -i -e "s/^version = .*/version = $VERSION/" "$DIRECTORY/Cargo.toml"
|
||||
|
||||
# Also update the lock file
|
||||
(cd "$DIRECTORY" && cargo update)
|
||||
git add "$DIRECTIORY/Cargo.toml"
|
||||
|
||||
if [ "$PROJECT" = "agb" ]; then
|
||||
# also update the agb version in the template
|
||||
sed -i -e "s/agb = \"\(.*\)\"/$VERSION/" template/Cargo.toml
|
||||
git add template/Cargo.toml
|
||||
fi
|
||||
|
||||
# Commit the Cargo.toml changes
|
||||
git commit -m "Release $PROJECT v$VERSION"
|
||||
|
||||
# Tag the version
|
||||
git tag -a $TAGNAME -m "$PROJECT - v$VERSION"
|
||||
|
||||
echo "Done! Push with"
|
||||
echo "git push origin $TAGNAME"
|
Loading…
Add table
Reference in a new issue