From ca7b5b7deb736429b67dfb57f1c65e1100c86db7 Mon Sep 17 00:00:00 2001 From: tusooa Date: Fri, 28 Apr 2023 18:12:38 -0400 Subject: [PATCH 1/4] Add changelog checker --- .gitlab-ci.yml | 17 +++++++++++++++++ tools/check-changelog | 18 ++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 tools/check-changelog 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 From cd5d0a8b641248c82ad2fe6b613a61f2528ef042 Mon Sep 17 00:00:00 2001 From: tusooa Date: Fri, 28 Apr 2023 18:15:44 -0400 Subject: [PATCH 2/4] Skip changelog --- changelog.d/check-changelog.skip | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 changelog.d/check-changelog.skip diff --git a/changelog.d/check-changelog.skip b/changelog.d/check-changelog.skip new file mode 100644 index 0000000000..e69de29bb2 From 5f8a34c51db50b92b2d231dccca38515f2a80cd8 Mon Sep 17 00:00:00 2001 From: tusooa Date: Fri, 28 Apr 2023 18:20:44 -0400 Subject: [PATCH 3/4] Run merge request pipelines instead of two different ones --- .gitlab-ci.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d6ba7f9a23..2b4452d53e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,6 +10,14 @@ stages: - test - deploy +# https://git.pleroma.social/help/ci/yaml/workflow.md#switch-between-branch-pipelines-and-merge-request-pipelines +workflow: + rules: + - if: $CI_PIPELINE_SOURCE == "merge_request_event" + - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS + when: never + - if: $CI_COMMIT_BRANCH + check-changelog: stage: check-changelog image: alpine From 7c7385b1de240d95b04d10c2a95dd2fc3dc360df Mon Sep 17 00:00:00 2001 From: tusooa Date: Tue, 2 May 2023 22:17:02 -0400 Subject: [PATCH 4/4] Do not count renames when checking changelog --- tools/check-changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/check-changelog b/tools/check-changelog index 86758d1d86..848a974349 100644 --- a/tools/check-changelog +++ b/tools/check-changelog @@ -5,7 +5,7 @@ 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 | \ +git diff --raw --no-renames upstream/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME HEAD -- changelog.d | \ grep ' A\t' | grep '\.\(skip\|add\|remove\|fix\|security\)$' ret=$?