From 1ffeba7da8458a9de0d2be278b1aaedb01eb034e Mon Sep 17 00:00:00 2001 From: SquidSpirit Date: Mon, 20 Jan 2025 23:28:27 +0800 Subject: [PATCH 1/2] NO-ISSUE feat: pr title check workflow --- .gitea/PULL_REQUEST_TEMPLATE.yaml | 1 - .gitea/workflows/pr-title-check.yaml | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 .gitea/workflows/pr-title-check.yaml diff --git a/.gitea/PULL_REQUEST_TEMPLATE.yaml b/.gitea/PULL_REQUEST_TEMPLATE.yaml index 06b9d67..e470377 100644 --- a/.gitea/PULL_REQUEST_TEMPLATE.yaml +++ b/.gitea/PULL_REQUEST_TEMPLATE.yaml @@ -33,6 +33,5 @@ body: attributes: label: Checklist options: - - label: "The title is meet the format `'BLOG-XXX Title title title'`" - label: A milestone is set - label: The related issuse has been linked to this branch diff --git a/.gitea/workflows/pr-title-check.yaml b/.gitea/workflows/pr-title-check.yaml new file mode 100644 index 0000000..3487895 --- /dev/null +++ b/.gitea/workflows/pr-title-check.yaml @@ -0,0 +1,19 @@ +name: PR Title Check +on: [pull_request] + +jobs: + pr-title-check: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Check PR title + run: | + title=${{ gitea.event.pull_request.title }} + if [[ ! $title =~ ^(BLOG-[0-9]+|NO-ISSUE) [A-Z].+$ ]]; then + echo 'The title is not meet the format `BLOG-XXX Title title title`' + exit 1 + else + echo 'Pass' + fi -- 2.47.1 From cbef2a13ee2d29bfab9786e3b14019d116d5c583 Mon Sep 17 00:00:00 2001 From: SquidSpirit Date: Mon, 20 Jan 2025 23:32:21 +0800 Subject: [PATCH 2/2] NO-ISSUE fix: if expression --- .gitea/workflows/pr-title-check.yaml | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/pr-title-check.yaml b/.gitea/workflows/pr-title-check.yaml index 3487895..fcf0a95 100644 --- a/.gitea/workflows/pr-title-check.yaml +++ b/.gitea/workflows/pr-title-check.yaml @@ -1,19 +1,20 @@ name: PR Title Check -on: [pull_request] +on: + pull_request: + types: + - opened + - edited + - synchronize + - reopened jobs: pr-title-check: runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Check PR title run: | - title=${{ gitea.event.pull_request.title }} - if [[ ! $title =~ ^(BLOG-[0-9]+|NO-ISSUE) [A-Z].+$ ]]; then - echo 'The title is not meet the format `BLOG-XXX Title title title`' - exit 1 - else - echo 'Pass' - fi + title="${{ gitea.event.pull_request.title }}" + echo "Checking PR title: $title" + echo "$title" | grep -qE '^(BLOG-[0-9]+|NO-ISSUE) [A-Z].+$' \ + && echo 'Pass' \ + || (echo 'The title is not meet the format `BLOG-XXX Title title title`'; exit 1) -- 2.47.1