build: add labeler workflow for PRs (#10143)

Use labels to categorise release notes
This commit is contained in:
Jakob Borg
2025-05-29 10:04:08 +02:00
committed by GitHub
parent d940d094a1
commit 40660c5fb7
4 changed files with 76 additions and 1 deletions

23
.github/labeler.yml vendored Normal file
View File

@@ -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
.github/release.yml vendored Normal file
View File

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

30
.github/workflows/pr-metadata.yaml vendored Normal file
View File

@@ -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 }}"

View File

@@ -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, "")
}