2018-09-12 16:29:21 +03:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2019-11-26 22:00:24 +03:00
|
|
|
set -e
|
2018-09-12 16:29:21 +03:00
|
|
|
|
2019-06-17 14:08:15 +03:00
|
|
|
if [[ "$BUILDKITE_BRANCH" =~ ^(develop|master|dinsic|shhs|release-.*)$ ]]; then
|
|
|
|
echo "Not merging forward, as this is a release branch"
|
|
|
|
exit 0
|
|
|
|
fi
|
2018-09-12 16:29:21 +03:00
|
|
|
|
2019-06-17 14:08:15 +03:00
|
|
|
if [[ -z $BUILDKITE_PULL_REQUEST_BASE_BRANCH ]]; then
|
|
|
|
echo "Not a pull request, or hasn't had a PR opened yet..."
|
2018-10-01 18:08:38 +03:00
|
|
|
|
|
|
|
# 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
|
2019-06-17 14:08:15 +03:00
|
|
|
GITBASE=$BUILDKITE_PULL_REQUEST_BASE_BRANCH
|
2018-09-12 16:29:21 +03:00
|
|
|
fi
|
|
|
|
|
2019-11-26 22:00:24 +03:00
|
|
|
echo "--- merge_base_branch $GITBASE"
|
|
|
|
|
2018-09-12 16:29:21 +03:00
|
|
|
# Show what we are before
|
2018-12-11 17:11:30 +03:00
|
|
|
git --no-pager show -s
|
2018-09-12 16:29:21 +03:00
|
|
|
|
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
|
2019-08-29 15:19:57 +03:00
|
|
|
git merge --no-edit --no-commit origin/$GITBASE
|
2018-09-12 16:29:21 +03:00
|
|
|
|
|
|
|
# Show what we are after.
|
2018-12-11 17:11:30 +03:00
|
|
|
git --no-pager show -s
|