2018-09-12 16:29:21 +03:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
# CircleCI doesn't give CIRCLE_PR_NUMBER in the environment for non-forked PRs. Wonderful.
|
|
|
|
# In this case, we just need to do some ~shell magic~ to strip it out of the PULL_REQUEST URL.
|
2018-09-13 12:59:32 +03:00
|
|
|
echo 'export CIRCLE_PR_NUMBER="${CIRCLE_PR_NUMBER:-${CIRCLE_PULL_REQUEST##*/}}"' >> $BASH_ENV
|
2018-09-12 16:29:21 +03:00
|
|
|
source $BASH_ENV
|
|
|
|
|
|
|
|
if [[ -z "${CIRCLE_PR_NUMBER}" ]]
|
|
|
|
then
|
2018-10-01 18:08:38 +03:00
|
|
|
echo "Can't figure out what the PR number is! Assuming merge target is develop."
|
|
|
|
|
|
|
|
# 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
|
2018-10-16 18:47:26 +03:00
|
|
|
GITBASE=`wget -O- https://api.github.com/repos/matrix-org/synapse/pulls/${CIRCLE_PR_NUMBER} | jq -r '.base.ref'`
|
2018-09-12 16:29:21 +03:00
|
|
|
fi
|
|
|
|
|
|
|
|
# Show what we are before
|
|
|
|
git show -s
|
|
|
|
|
2018-09-13 17:44:31 +03:00
|
|
|
# Set up username so it can do a merge
|
|
|
|
git config --global user.email bot@matrix.org
|
|
|
|
git config --global user.name "A robot"
|
|
|
|
|
2018-09-12 16:29:21 +03:00
|
|
|
# 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.
|
2018-10-16 18:47:26 +03:00
|
|
|
git show -s
|