summary refs log tree commit diff
path: root/.buildkite/merge_base_branch.sh
diff options
context:
space:
mode:
authorAmber Brown <hawkowl@atleastfornow.net>2019-06-17 21:08:15 +1000
committerGitHub <noreply@github.com>2019-06-17 21:08:15 +1000
commit97d7e4c7b75999b991f53f8a7ee6b25d15442e92 (patch)
treea64eb3f978df3463832fb180408cd8f65bc007da /.buildkite/merge_base_branch.sh
parentMerge pull request #5464 from matrix-org/erikj/3pid_remote_invite_state (diff)
downloadsynapse-97d7e4c7b75999b991f53f8a7ee6b25d15442e92.tar.xz
Move SyTest to Buildkite (#5459)
Including workers!
Diffstat (limited to '.buildkite/merge_base_branch.sh')
-rwxr-xr-x.buildkite/merge_base_branch.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/.buildkite/merge_base_branch.sh b/.buildkite/merge_base_branch.sh
new file mode 100755
index 0000000000..26176d6465
--- /dev/null
+++ b/.buildkite/merge_base_branch.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+
+set -ex
+
+if [[ "$BUILDKITE_BRANCH" =~ ^(develop|master|dinsic|shhs|release-.*)$ ]]; then
+    echo "Not merging forward, as this is a release branch"
+    exit 0
+fi
+
+if [[ -z $BUILDKITE_PULL_REQUEST_BASE_BRANCH ]]; then
+    echo "Not a pull request, or hasn't had a PR opened yet..."
+
+    # It probably hasn't had a PR opened yet. Since all PRs land on develop, we
+    # can probably assume it's based on it and will be merged into it.
+    GITBASE="develop"
+else
+    # Get the reference, using the GitHub API
+    GITBASE=$BUILDKITE_PULL_REQUEST_BASE_BRANCH
+fi
+
+# Show what we are before
+git --no-pager show -s
+
+# Set up username so it can do a merge
+git config --global user.email bot@matrix.org
+git config --global user.name "A robot"
+
+# Fetch and merge. If it doesn't work, it will raise due to set -e.
+git fetch -u origin $GITBASE
+git merge --no-edit origin/$GITBASE
+
+# Show what we are after.
+git --no-pager show -s