ci: Use target branch from target project for code-style check

Merge requests from forked projects run pipelines in their context,
not the target projects one. Thus we have to fetch the target
branch from the target repository.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1977>
This commit is contained in:
Robert Mader 2021-08-27 12:37:47 +02:00
parent 3480a95c82
commit 5a25f2f62b

View File

@ -151,8 +151,9 @@ check-code-style:
script: script:
- if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ; - if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ;
then then
git fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME ; git remote add target $CI_MERGE_REQUEST_PROJECT_URL.git ;
export common_parent_sha=$(diff --old-line-format='' --new-line-format='' <(git rev-list --first-parent "origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME") <(git rev-list --first-parent HEAD) | head -1) ; git fetch target $CI_MERGE_REQUEST_TARGET_BRANCH_NAME ;
export common_parent_sha=$(diff --old-line-format='' --new-line-format='' <(git rev-list --first-parent "target/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME") <(git rev-list --first-parent HEAD) | head -1) ;
python3 -u ./check-style.py --dry-run --sha $common_parent_sha ; python3 -u ./check-style.py --dry-run --sha $common_parent_sha ;
else else
echo "Not a merge request" ; echo "Not a merge request" ;