diff --git a/scripts/ci/jobs/pre-commit.yml b/scripts/ci/jobs/pre-commit.yml index f49d071eb8d5fafeec37a7dc8250d2705d825343..64caf85b5040574f87557d7f3a7175fda800403f 100644 --- a/scripts/ci/jobs/pre-commit.yml +++ b/scripts/ci/jobs/pre-commit.yml @@ -1,21 +1,28 @@ pre commit: stage: preparation image: $PRECOMMIT_IMAGE + rules: + - if: $CI_MERGE_REQUEST_IID needs: [ci_images] variables: SKIP: clang-format script: - pre-commit install - - pre-commit run --from-ref `git merge-base origin/master HEAD` --to-ref HEAD - - git diff --check `git merge-base origin/master HEAD` HEAD -- . ':!*.md' ':!*.pandoc' ':!*.asc' ':!*.dat' ':!*.ts' + - TARGET_SHA1=$(git show-ref -s ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}) + - pre-commit run --from-ref `git merge-base ${TARGET_SHA1} HEAD` --to-ref HEAD + - echo "Target branch is ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}, target sha is ${TARGET_SHA1}." + - git diff --check `git merge-base ${TARGET_SHA1} HEAD` HEAD -- . ':!*.md' ':!*.pandoc' ':!*.asc' ':!*.dat' ':!*.ts' clang-format: stage: check image: $PRECOMMIT_IMAGE + rules: + - if: $CI_MERGE_REQUEST_IID needs: [ci_images] allow_failure: true script: - pre-commit install - - pre-commit run clang-format --from-ref `git merge-base origin/master HEAD` --to-ref HEAD + - TARGET_SHA1=$(git show-ref -s ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}) + - pre-commit run clang-format --from-ref `git merge-base ${TARGET_SHA1} HEAD` --to-ref HEAD after_script: - git diff