2017-05-05 23:57:18 +08:00
|
|
|
#!/bin/bash
|
2016-03-23 22:15:22 +08:00
|
|
|
#
|
2020-07-17 19:54:04 +08:00
|
|
|
# Script to perform a release of element-web.
|
2016-03-23 22:15:22 +08:00
|
|
|
#
|
2017-05-10 20:36:27 +08:00
|
|
|
# Requires github-changelog-generator; to install, do
|
2016-03-23 22:15:22 +08:00
|
|
|
# pip install git+https://github.com/matrix-org/github-changelog-generator.git
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
2018-04-26 19:07:02 +08:00
|
|
|
orig_args=$@
|
|
|
|
|
|
|
|
# chomp any args starting with '-' as these need to go
|
2018-04-26 19:55:12 +08:00
|
|
|
# through to the release script and otherwise we'll get
|
2018-04-26 19:07:02 +08:00
|
|
|
# confused about what the version arg is.
|
|
|
|
while [[ "$1" == -* ]]; do
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
|
2016-03-23 22:15:22 +08:00
|
|
|
cd `dirname $0`
|
|
|
|
|
2017-05-19 18:59:27 +08:00
|
|
|
for i in matrix-js-sdk matrix-react-sdk
|
|
|
|
do
|
2020-03-04 20:00:37 +08:00
|
|
|
echo "Checking version of $i..."
|
2017-08-16 17:22:09 +08:00
|
|
|
depver=`cat package.json | jq -r .dependencies[\"$i\"]`
|
2020-02-14 19:04:39 +08:00
|
|
|
latestver=`yarn info -s $i dist-tags.next`
|
2017-05-19 18:59:27 +08:00
|
|
|
if [ "$depver" != "$latestver" ]
|
|
|
|
then
|
2020-02-14 19:43:08 +08:00
|
|
|
echo "The latest version of $i is $latestver but package.json depends on $depver."
|
|
|
|
echo -n "Type 'u' to auto-upgrade, 'c' to continue anyway, or 'a' to abort:"
|
2017-05-19 18:59:27 +08:00
|
|
|
read resp
|
2020-02-14 19:43:08 +08:00
|
|
|
if [ "$resp" != "u" ] && [ "$resp" != "c" ]
|
2017-05-19 18:59:27 +08:00
|
|
|
then
|
2020-02-14 19:43:08 +08:00
|
|
|
echo "Aborting."
|
2017-05-19 18:59:27 +08:00
|
|
|
exit 1
|
|
|
|
fi
|
2020-02-14 19:43:08 +08:00
|
|
|
if [ "$resp" == "u" ]
|
|
|
|
then
|
|
|
|
echo "Upgrading $i to $latestver..."
|
|
|
|
yarn add -E $i@$latestver
|
|
|
|
git add -u
|
|
|
|
# The `-e` flag opens the editor and gives you a chance to check
|
|
|
|
# the upgrade for correctness.
|
|
|
|
git commit -m "Upgrade $i to $latestver" -e
|
|
|
|
fi
|
2017-05-19 18:59:27 +08:00
|
|
|
fi
|
|
|
|
done
|
2017-05-05 23:54:55 +08:00
|
|
|
|
2020-05-14 23:40:25 +08:00
|
|
|
./node_modules/matrix-js-sdk/release.sh -u vector-im -z "$orig_args"
|
|
|
|
|
2017-05-05 23:54:55 +08:00
|
|
|
release="${1#v}"
|
|
|
|
tag="v${release}"
|
2020-02-14 20:21:54 +08:00
|
|
|
prerelease=0
|
|
|
|
# We check if this build is a prerelease by looking to
|
|
|
|
# see if the version has a hyphen in it. Crude,
|
|
|
|
# but semver doesn't support postreleases so anything
|
|
|
|
# with a hyphen is a prerelease.
|
|
|
|
echo $release | grep -q '-' && prerelease=1
|
2017-05-05 23:54:55 +08:00
|
|
|
|
2020-02-14 20:21:54 +08:00
|
|
|
if [ $prerelease -eq 0 ]
|
|
|
|
then
|
|
|
|
# For a release, reset SDK deps back to the `develop` branch.
|
|
|
|
for i in matrix-js-sdk matrix-react-sdk
|
|
|
|
do
|
|
|
|
echo "Resetting $i to develop branch..."
|
|
|
|
yarn add github:matrix-org/$i#develop
|
|
|
|
git add -u
|
|
|
|
git commit -m "Reset $i back to develop branch"
|
|
|
|
done
|
|
|
|
git push origin develop
|
|
|
|
fi
|