36 lines
710 B
Bash
36 lines
710 B
Bash
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
VERSION=$(perl -MFile::Slurp::Tiny=read_file -MDateTime <<EOF
|
|
use v5.16;
|
|
my \$log = read_file(q{CHANGELOG.md});
|
|
\$log =~ /\n(\d+\.\d+\.\d+) \((\d{4}-\d{2}-\d{2})\)\n/;
|
|
die 'Release time is not today!' unless DateTime->now->ymd eq \$2;
|
|
say \$1;
|
|
EOF
|
|
)
|
|
|
|
perl -pi -e "s/(?<=#define PHP_MAXMINDDB_VERSION \")\d+\.\d+\.\d+(?=\")/$VERSION/" ext/php_maxminddb.h
|
|
|
|
git diff
|
|
|
|
if [ -n "$(git status --porcelain)" ]; then
|
|
git commit -m "Bumped version to $VERSION" -a
|
|
fi
|
|
|
|
TAG="v$VERSION"
|
|
echo "Creating tag $TAG"
|
|
git tag -a -m "Release for $VERSION" "$TAG"
|
|
|
|
|
|
read -p "Push to origin? (y/n) " SHOULD_PUSH
|
|
|
|
if [ "$SHOULD_PUSH" != "y" ]; then
|
|
echo "Aborting"
|
|
exit 1
|
|
fi
|
|
|
|
git push
|
|
git push --tags
|