diff --git a/.gitlab-ci/run-check-todos.sh b/.gitlab-ci/run-check-todos.sh index 8a6a9bfda..e2df10ef5 100755 --- a/.gitlab-ci/run-check-todos.sh +++ b/.gitlab-ci/run-check-todos.sh @@ -2,29 +2,6 @@ set -e -ancestor_horizon=28 # days (4 weeks) - -# We need to add a new remote for the upstream target branch, since this script -# could be running in a personal fork of the repository which has out of date -# branches. -# -# Limit the fetch to a certain date horizon to limit the amount of data we get. -# If the branch was forked from origin/master before this horizon, it should -# probably be rebased. -git remote add upstream https://gitlab.gnome.org/GNOME/glib.git -git fetch --shallow-since="$(date --date="${ancestor_horizon} days ago" +%Y-%m-%d)" upstream - -# Work out the newest common ancestor between the detached HEAD that this CI job -# has checked out, and the upstream target branch (which will typically be -# `upstream/master` or `upstream/glib-2-62`). -# `${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}` is only defined if we’re running in -# a merge request pipeline; fall back to `${CI_DEFAULT_BRANCH}` otherwise. -newest_common_ancestor_sha=$(diff --old-line-format='' --new-line-format='' <(git rev-list --first-parent "upstream/${CI_MERGE_REQUEST_TARGET_BRANCH_NAME:-${CI_DEFAULT_BRANCH}}") <(git rev-list --first-parent HEAD) | head -1) -if [ -z "${newest_common_ancestor_sha}" ]; then - echo "Couldn’t find common ancestor with upstream master. This typically" - echo "happens if you branched from master a long time ago. Please update" - echo "your clone, rebase, and re-push your branch." - exit 1 -fi +source .gitlab-ci/search-common-ancestor.sh ./.gitlab-ci/check-todos.py "${newest_common_ancestor_sha}" diff --git a/.gitlab-ci/run-style-check-diff.sh b/.gitlab-ci/run-style-check-diff.sh index b308e7679..a04bd0731 100755 --- a/.gitlab-ci/run-style-check-diff.sh +++ b/.gitlab-ci/run-style-check-diff.sh @@ -7,29 +7,7 @@ ancestor_horizon=28 # days (4 weeks) # Wrap everything in a subshell so we can propagate the exit status. ( -# We need to add a new remote for the upstream target branch, since this script -# could be running in a personal fork of the repository which has out of date -# branches. -# -# Limit the fetch to a certain date horizon to limit the amount of data we get. -# If the branch was forked from origin/master before this horizon, it should -# probably be rebased. -git remote add upstream https://gitlab.gnome.org/GNOME/glib.git -git fetch --shallow-since="$(date --date="${ancestor_horizon} days ago" +%Y-%m-%d)" upstream - -# Work out the newest common ancestor between the detached HEAD that this CI job -# has checked out, and the upstream target branch (which will typically be -# `upstream/master` or `upstream/glib-2-62`). -# -# `${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}` is only defined if we’re running in -# a merge request pipeline; fall back to `${CI_DEFAULT_BRANCH}` otherwise. -newest_common_ancestor_sha=$(diff --old-line-format='' --new-line-format='' <(git rev-list --first-parent "upstream/${CI_MERGE_REQUEST_TARGET_BRANCH_NAME:-${CI_DEFAULT_BRANCH}}") <(git rev-list --first-parent HEAD) | head -1) -if [ -z "${newest_common_ancestor_sha}" ]; then - echo "Couldn’t find common ancestor with upstream master. This typically" - echo "happens if you branched from master a long time ago. Please update" - echo "your clone, rebase, and re-push your branch." - exit 1 -fi +source .gitlab-ci/search-common-ancestor.sh git diff -U0 --no-color "${newest_common_ancestor_sha}" | ./clang-format-diff.py -binary "clang-format-7" -p1 diff --git a/.gitlab-ci/search-common-ancestor.sh b/.gitlab-ci/search-common-ancestor.sh new file mode 100755 index 000000000..d09f7d3f8 --- /dev/null +++ b/.gitlab-ci/search-common-ancestor.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +set -e + +ancestor_horizon=28 # days (4 weeks) + +# We need to add a new remote for the upstream target branch, since this script +# could be running in a personal fork of the repository which has out of date +# branches. +# +# Limit the fetch to a certain date horizon to limit the amount of data we get. +# If the branch was forked from origin/master before this horizon, it should +# probably be rebased. +git remote add upstream https://gitlab.gnome.org/GNOME/glib.git +git fetch --shallow-since="$(date --date="${ancestor_horizon} days ago" +%Y-%m-%d)" upstream + +# Work out the newest common ancestor between the detached HEAD that this CI job +# has checked out, and the upstream target branch (which will typically be +# `upstream/master` or `upstream/glib-2-62`). +# `${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}` is only defined if we’re running in +# a merge request pipeline; fall back to `${CI_DEFAULT_BRANCH}` otherwise. +newest_common_ancestor_sha=$(diff --old-line-format='' --new-line-format='' <(git rev-list --first-parent "upstream/${CI_MERGE_REQUEST_TARGET_BRANCH_NAME:-${CI_DEFAULT_BRANCH}}") <(git rev-list --first-parent HEAD) | head -1) +if [ -z "${newest_common_ancestor_sha}" ]; then + echo "Couldn’t find common ancestor with upstream master. This typically" + echo "happens if you branched from master a long time ago. Please update" + echo "your clone, rebase, and re-push your branch." + exit 1 +fi