mirror of
https://github.com/italicsjenga/agb.git
synced 2025-01-11 17:41:33 +11:00
Merge pull request #107 from gwilymk/update-agb-when-releasing
Update agb when releasing
This commit is contained in:
commit
500f271182
42
release.sh
42
release.sh
|
@ -5,10 +5,11 @@ set -e
|
|||
|
||||
PROJECT=$1
|
||||
VERSION=$2
|
||||
NO_COMMIT=$3
|
||||
|
||||
# Sanity check that we actually have a version
|
||||
if [ "$VERSION" = "" ]; then
|
||||
echo "Usage $0 <project> <version>"
|
||||
echo "Usage $0 <project> <version> [--no-commit]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
@ -18,6 +19,12 @@ if [ ! "$(echo "$VERSION" | grep -E "^[0-9]+\.[0-9]+\.[0-9]+$")" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# Check if no commit option is valid
|
||||
if [ ! "$NO_COMMIT" = "" ] && [ ! "$NO_COMMIT" = "--no-commit" ]; then
|
||||
echo "Must pass either no last argument or --no-commit"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Set up $DIRECTORY and $TAGNAME
|
||||
case "$PROJECT" in
|
||||
agb)
|
||||
|
@ -49,16 +56,12 @@ if [ ! -z "$(git status --porcelain)" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# Check that we are in the master branch
|
||||
if [ "$(git symbolic-ref --short HEAD)" != "master" ]; then
|
||||
# Check that we are in the master branch, but only if actually committing
|
||||
if [ ! "$NO_COMMIT" = "--no-commit" ] && [ "$(git symbolic-ref --short HEAD)" != "master" ]; then
|
||||
echo "You must be in the master branch before releasing"
|
||||
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"
|
||||
|
||||
|
@ -70,13 +73,26 @@ if [ "$PROJECT" = "agb" ]; then
|
|||
# also update the agb version in the template
|
||||
sed -i -e "s/^agb = \".*\"/agb = \"$VERSION\"/" template/Cargo.toml
|
||||
git add template/Cargo.toml
|
||||
else
|
||||
PROJECT_NAME_WITH_UNDERSCORES=$(echo -n "$PROJECT" | tr - _)
|
||||
sed -i -E -e "s/($PROJECT_NAME_WITH_UNDERSCORES = .*version = \")[^\"]+(\".*)/\1$VERSION\2/" agb/Cargo.toml
|
||||
|
||||
(cd agb && cargo update)
|
||||
git add agb/Cargo.toml agb/Cargo.lock
|
||||
fi
|
||||
|
||||
# Commit the Cargo.toml changes
|
||||
git commit -m "Release $PROJECT v$VERSION"
|
||||
# Sanity check to make sure the build works
|
||||
(cd agb && cargo test)
|
||||
(cd agb-image-converter && cargo test)
|
||||
(cd agb-macros && cargo test)
|
||||
|
||||
# Tag the version
|
||||
git tag -a $TAGNAME -m "$PROJECT - v$VERSION"
|
||||
if [ ! "$NO_COMMIT" = "--no-commit" ]; then
|
||||
# Commit the Cargo.toml changes
|
||||
git commit -m "Release $PROJECT v$VERSION"
|
||||
|
||||
echo "Done! Push with"
|
||||
echo "git push --atomic origin master $TAGNAME"
|
||||
# Tag the version
|
||||
git tag -a $TAGNAME -m "$PROJECT - v$VERSION"
|
||||
|
||||
echo "Done! Push with"
|
||||
echo "git push --atomic origin master $TAGNAME"
|
||||
fi
|
Loading…
Reference in a new issue