2017-05-05 18:57:18 +03:00
|
|
|
#!/bin/bash
|
2016-03-23 17:15:22 +03:00
|
|
|
#
|
2019-03-12 14:06:57 +03:00
|
|
|
# Script to perform a release of riot-web.
|
2016-03-23 17:15:22 +03:00
|
|
|
#
|
2017-05-10 15:36:27 +03:00
|
|
|
# Requires github-changelog-generator; to install, do
|
2016-03-23 17:15:22 +03:00
|
|
|
# pip install git+https://github.com/matrix-org/github-changelog-generator.git
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
2018-04-26 14:07:02 +03:00
|
|
|
orig_args=$@
|
|
|
|
|
|
|
|
# chomp any args starting with '-' as these need to go
|
2018-04-26 14:55:12 +03:00
|
|
|
# through to the release script and otherwise we'll get
|
2018-04-26 14:07:02 +03:00
|
|
|
# confused about what the version arg is.
|
|
|
|
while [[ "$1" == -* ]]; do
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
|
2016-03-23 17:15:22 +03:00
|
|
|
cd `dirname $0`
|
|
|
|
|
2017-05-19 13:59:27 +03:00
|
|
|
for i in matrix-js-sdk matrix-react-sdk
|
|
|
|
do
|
2017-08-16 12:22:09 +03:00
|
|
|
depver=`cat package.json | jq -r .dependencies[\"$i\"]`
|
2020-02-14 14:04:39 +03:00
|
|
|
latestver=`yarn info -s $i dist-tags.next`
|
2017-05-19 13:59:27 +03:00
|
|
|
if [ "$depver" != "$latestver" ]
|
|
|
|
then
|
2020-02-14 14:43:08 +03: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 13:59:27 +03:00
|
|
|
read resp
|
2020-02-14 14:43:08 +03:00
|
|
|
if [ "$resp" != "u" ] && [ "$resp" != "c" ]
|
2017-05-19 13:59:27 +03:00
|
|
|
then
|
2020-02-14 14:43:08 +03:00
|
|
|
echo "Aborting."
|
2017-05-19 13:59:27 +03:00
|
|
|
exit 1
|
|
|
|
fi
|
2020-02-14 14:43:08 +03: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 13:59:27 +03:00
|
|
|
fi
|
|
|
|
done
|
2017-05-05 18:54:55 +03:00
|
|
|
|
|
|
|
release="${1#v}"
|
|
|
|
tag="v${release}"
|
2020-02-14 15:21:54 +03: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 18:54:55 +03:00
|
|
|
|
2020-02-14 15:21:54 +03:00
|
|
|
# bump Electron's package.json first
|
|
|
|
echo "electron yarn version"
|
2017-05-10 15:36:27 +03:00
|
|
|
cd electron_app
|
2019-03-13 17:57:52 +03:00
|
|
|
yarn version --no-git-tag-version --new-version "$release"
|
2018-10-11 18:01:56 +03:00
|
|
|
git commit package.json -m "$tag"
|
2017-05-05 18:54:55 +03:00
|
|
|
|
|
|
|
cd ..
|
|
|
|
|
2019-01-17 14:06:41 +03:00
|
|
|
exec ./node_modules/matrix-js-sdk/release.sh -u vector-im -z "$orig_args"
|
2020-02-14 15:21:54 +03: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
|