Browse Source

build: add labeler workflow for PRs (#10143)

Use labels to categorise release notes
Jakob Borg 5 months ago
parent
commit
40660c5fb7
4 changed files with 76 additions and 1 deletions
  1. 23 0
      .github/labeler.yml
  2. 17 0
      .github/release.yml
  3. 30 0
      .github/workflows/pr-metadata.yaml
  4. 6 1
      script/relnotes.go

+ 23 - 0
.github/labeler.yml

@@ -0,0 +1,23 @@
+version: 1
+labels:
+
+- label: enhancement
+  title: ^feat\b
+
+- label: bug
+  title: ^fix\b
+
+- label: documentation
+  title: ^docs\b
+
+- label: chore
+  title: ^chore\b
+
+- label: chore
+  title: ^refactor\b
+
+- label: build
+  title: ^build\b
+
+- label: dependencies
+  title: ^build\(deps\)\b

+ 17 - 0
.github/release.yml

@@ -0,0 +1,17 @@
+changelog:
+  exclude:
+    labels:
+      - dependencies
+
+  categories:
+    - title: Fixes
+      labels:
+        - bug
+
+    - title: Features
+      labels:
+        - enhancement
+
+    - title: Other
+      labels:
+        - '*'

+ 30 - 0
.github/workflows/pr-metadata.yaml

@@ -0,0 +1,30 @@
+name: PR metadata
+
+on:
+  pull_request_target:
+    types:
+      - opened
+      - reopened
+      - edited
+      - synchronize
+  schedule:
+    - cron: "42 7 * * *"
+
+permissions:
+  contents: read
+  issues: write
+  pull-requests: write
+
+jobs:
+
+  #
+  # Set labels on PRs, which are then used to categorise release notes
+  #
+
+  labels:
+    name: Set labels
+    runs-on: ubuntu-latest
+    steps:
+    - uses: srvaroa/labeler@v1
+      env:
+        GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

+ 6 - 1
script/relnotes.go

@@ -20,6 +20,7 @@ import (
 	"log"
 	"net/http"
 	"os"
+	"regexp"
 	"strings"
 )
 
@@ -114,5 +115,9 @@ func generatedNotes(newVer, targetCommit, prevVer string) (string, error) {
 	if err := json.NewDecoder(res.Body).Decode(&resJSON); err != nil {
 		return "", err
 	}
-	return strings.TrimSpace(resJSON.Body), nil
+	return strings.TrimSpace(removeHTMLComments(resJSON.Body)), nil
+}
+
+func removeHTMLComments(s string) string {
+	return regexp.MustCompile(`<!--.*?-->`).ReplaceAllString(s, "")
 }