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