From aa95dcc0cb90855dd6d82efb73975fae0d95c2dc Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Fri, 14 Feb 2020 11:04:39 +0000 Subject: [PATCH 1/3] Check the `next` tag when looking for the latest version --- release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release.sh b/release.sh index 33b3676f..d53ea5e8 100755 --- a/release.sh +++ b/release.sh @@ -21,7 +21,7 @@ cd `dirname $0` for i in matrix-js-sdk matrix-react-sdk do depver=`cat package.json | jq -r .dependencies[\"$i\"]` - latestver=`yarn info -s $i version` + latestver=`yarn info -s $i dist-tags.next` if [ "$depver" != "$latestver" ] then echo "The latest version of $i is $latestver but package.json depends on $depver" From a26bd6ef94d28fbc6bc240272d216258abbd3a60 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Fri, 14 Feb 2020 11:43:08 +0000 Subject: [PATCH 2/3] Add auto-upgrade support for SDK deps This automates the SDK upgrade step of the release process. --- release.sh | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/release.sh b/release.sh index d53ea5e8..44a58d44 100755 --- a/release.sh +++ b/release.sh @@ -24,14 +24,23 @@ do latestver=`yarn info -s $i dist-tags.next` if [ "$depver" != "$latestver" ] then - echo "The latest version of $i is $latestver but package.json depends on $depver" - echo -n "Type 'Yes' to continue anyway: " + 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:" read resp - if [ "$resp" != "Yes" ] + if [ "$resp" != "u" ] && [ "$resp" != "c" ] then - echo "OK, never mind." + echo "Aborting." exit 1 fi + 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 fi done From 585d40f4c18d99255275b67a39b053f92e8655e3 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Fri, 14 Feb 2020 12:21:54 +0000 Subject: [PATCH 3/3] Reset SDK deps back to develop after a release This automates the (frequently forgotten) step of resetting SDK deps back to the develop branch after merging the release to develop. --- release.sh | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/release.sh b/release.sh index 44a58d44..753e1820 100755 --- a/release.sh +++ b/release.sh @@ -44,11 +44,17 @@ do fi done -# bump Electron's package.json first release="${1#v}" tag="v${release}" -echo "electron yarn version" +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 +# bump Electron's package.json first +echo "electron yarn version" cd electron_app yarn version --no-git-tag-version --new-version "$release" git commit package.json -m "$tag" @@ -56,3 +62,16 @@ git commit package.json -m "$tag" cd .. exec ./node_modules/matrix-js-sdk/release.sh -u vector-im -z "$orig_args" + +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