From 3f2dcf2113f017470b568d5deac3d368532eb470 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Fri, 14 Feb 2020 11:07:05 +0000 Subject: [PATCH 1/3] Add dep version checks for release --- release.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/release.sh b/release.sh index 1f287bc839..4a8acdc5c7 100755 --- a/release.sh +++ b/release.sh @@ -9,4 +9,21 @@ set -e cd `dirname $0` +for i in matrix-js-sdk +do + depver=`cat package.json | jq -r .dependencies[\"$i\"]` + 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: " + read resp + if [ "$resp" != "Yes" ] + then + echo "OK, never mind." + exit 1 + fi + fi +done + exec ./node_modules/matrix-js-sdk/release.sh -z "$@" From c6a8c197794c6264079e593eae1aaec53ed0a031 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Fri, 14 Feb 2020 12:10: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 4a8acdc5c7..67a8a58753 100755 --- a/release.sh +++ b/release.sh @@ -15,14 +15,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 1938dc443a76660a3b3cd065dbafdeb08a54be40 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Fri, 14 Feb 2020 12:27:21 +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 | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/release.sh b/release.sh index 67a8a58753..c585708326 100755 --- a/release.sh +++ b/release.sh @@ -36,3 +36,24 @@ do done exec ./node_modules/matrix-js-sdk/release.sh -z "$@" + +release="${1#v}" +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 + +if [ $prerelease -eq 0 ] +then + # For a release, reset SDK deps back to the `develop` branch. + for i in matrix-js-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