diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 305155d84b..d6ba7f9a23 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,11 +4,28 @@ image: node:16 stages: + - check-changelog - lint - build - test - deploy +check-changelog: + stage: check-changelog + image: alpine + rules: + - if: $CI_MERGE_REQUEST_SOURCE_PROJECT_PATH == 'pleroma/pleroma-fe' && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^renovate/ + when: never + - if: $CI_MERGE_REQUEST_SOURCE_PROJECT_PATH == 'pleroma/pleroma-fe' && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == 'weblate' + when: never + - if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" + before_script: '' + after_script: '' + cache: {} + script: + - apk add git + - sh ./tools/check-changelog + lint: stage: lint script: diff --git a/tools/check-changelog b/tools/check-changelog new file mode 100644 index 0000000000..86758d1d86 --- /dev/null +++ b/tools/check-changelog @@ -0,0 +1,18 @@ +#!/bin/sh + +echo "looking for change log" + +git remote add upstream https://git.pleroma.social/pleroma/pleroma-fe.git +git fetch upstream ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}:refs/remotes/upstream/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME + +git diff --raw upstream/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME HEAD -- changelog.d | \ + grep ' A\t' | grep '\.\(skip\|add\|remove\|fix\|security\)$' +ret=$? + +if [ $ret -eq 0 ]; then + echo "found a changelog entry" + exit 0 +else + echo "changelog entry not found" + exit 1 +fi