From dd3fa9112f3bc6c57e5bc0e84f37730188af81df Mon Sep 17 00:00:00 2001 From: "Tobias.Mikula" Date: Thu, 11 Jun 2026 16:08:15 +0200 Subject: [PATCH 1/2] Adaption of newest Release Notes Generator to the project. --- .github/pull_request_template.md | 11 ++++ ...e-check.yml => check_pr_release_notes.yml} | 17 ++--- .github/workflows/release_draft.yml | 65 ++++++++++--------- 3 files changed, 56 insertions(+), 37 deletions(-) create mode 100644 .github/pull_request_template.md rename .github/workflows/{release-notes-presence-check.yml => check_pr_release_notes.yml} (80%) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..323ac011 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,11 @@ + +## Overview + + +## Release Notes +- TBD: 1st item of release notes +- TBD: 2nd item of release notes + + +## Related +Closes #issue_number diff --git a/.github/workflows/release-notes-presence-check.yml b/.github/workflows/check_pr_release_notes.yml similarity index 80% rename from .github/workflows/release-notes-presence-check.yml rename to .github/workflows/check_pr_release_notes.yml index e16a7aab..9475a535 100644 --- a/.github/workflows/release-notes-presence-check.yml +++ b/.github/workflows/check_pr_release_notes.yml @@ -14,26 +14,25 @@ # limitations under the License. # -name: Check PR Release Notes Presence Check +name: Check PR Release Notes on: pull_request: types: [opened, synchronize, reopened, edited, labeled, unlabeled] branches: [ master ] -env: - SKIP_LABEL: 'no RN' - RLS_NOTES_TAG_REGEX: 'Release Notes:' +concurrency: + group: release-notes-check-${{ github.ref }} + cancel-in-progress: true jobs: - release-notes-presence-check: - name: Release Notes Presence Check + check-release-notes: runs-on: ubuntu-latest steps: - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 with: - python-version: '3.11' + python-version: '3.14' - name: Check presence of release notes in PR description uses: AbsaOSS/release-notes-presence-check@8e586b26a5e27f899ee8590a5d988fd4780a3dbf @@ -42,4 +41,6 @@ jobs: with: github-repository: ${{ github.repository }} pr-number: ${{ github.event.number }} - skip-labels: "no RN" + title: "## [Rr]elease [Nn]otes" + skip-labels: 'no RN' + skip-placeholders: 'TBD' diff --git a/.github/workflows/release_draft.yml b/.github/workflows/release_draft.yml index c4da4f17..6dcfcc91 100644 --- a/.github/workflows/release_draft.yml +++ b/.github/workflows/release_draft.yml @@ -14,7 +14,7 @@ # limitations under the License. # -name: Release - create draft release +name: Draft Release on: workflow_dispatch: inputs: @@ -22,15 +22,21 @@ on: description: 'Name of git tag to be created, and then draft release created. Syntax: "v[0-9]+.[0-9]+.[0-9]+".' required: true from-tag-name: - description: 'Name of the git tag from which to detect changes from. Default value: latest tag. Syntax: "v[0-9]+.[0-9]+.[0-9]+".' + description: >- + Name of the git tag from which to detect changes from. + Default value: latest tag. Syntax: "v[0-9]+.[0-9]+.[0-9]+". required: false +permissions: + contents: write + issues: read + pull-requests: read + jobs: release-draft: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd with: fetch-depth: 0 persist-credentials: false @@ -39,7 +45,7 @@ jobs: with: python-version: '3.14' - - name: Check format of received tag + - name: Check format of received target tag id: check-version-tag uses: AbsaOSS/version-tag-check@4145e48bf3f77a5afff2ec9afdd8afb6b53bce34 env: @@ -59,44 +65,46 @@ jobs: version-tag: ${{ github.event.inputs.from-tag-name }} should-exist: true - - name: Generate release notes + - name: Generate Release Notes id: generate_release_notes uses: AbsaOSS/generate-release-notes@da535383f54a6532adb84e88d3b6e5c7236132df env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: + release-notes-title: "## [Rr]elease [Nn]otes" tag-name: ${{ github.event.inputs.tag-name }} + from-tag-name: ${{ github.event.inputs.from-tag-name }} chapters: | - - {"title": "Entries to skip 🚫", "label": "duplicate"} - - {"title": "Entries to skip 🚫", "label": "invalid"} - - {"title": "Entries to skip 🚫", "label": "wontfix"} - - {"title": "Entries to skip 🚫", "label": "no RN"} - - {"title": "Breaking Changes 💥", "label": "breaking-change"} - - {"title": "Security updates 👮", "label": "security"} - - {"title": "New Features 🎉", "label": "enhancement"} - - {"title": "New Features 🎉", "label": "feature"} - - {"title": "Bugfixes 🛠", "label": "bug"} - - {"title": "Epics 📖", "label": "Epic"} - - {"title": "Infrastructure ⚙️", "label": "infrastructure"} - - {"title": "Silent-live 🤫", "label": "silent-live"} - - {"title": "Documentation 📜", "label": "documentation"} - duplicity-scope: 'service' - duplicity-icon: '🔁' + - { title: Breaking Changes 💥, label: breaking change, order: 10 } + - { title: Epics 🎉, label: epic, order: 20 } + - { title: New Features 🎉, label: feature, order: 30 } + - { title: Bugfixes 🛠, label: bug, order: 40 } + - { title: Infrastructure ⚙️, label: infrastructure, order: 50 } + - { title: Spikes 💡, label: spike, order: 60 } + - { title: Agent 🤖, label: Agent, order: 70 } + - { title: DB 🗄️, label: DB, order: 75 } + - { title: Model 🧩, label: Model, order: 80 } + - { title: Server 🖥️, label: Server, order: 85 } + - { title: Reader 📖, label: Reader, order: 90 } + - { title: Entries to skip 🚫, label: duplicate, hidden: true, order: 99 } + - { title: Entries to skip 🚫, label: no RN, hidden: true, order: 99 } + - { title: Silent-live 🤫, catch-open-hierarchy: true, hidden: false } warnings: true -# skip-release-notes-labels: "no RN,duplicate,invalid,wontfix" I would rather see the chapter, review and remove it manually print-empty-chapters: false - row-format-issue: '_{title}_ {developers} in {number}' - row-format-pr: '_{title}_ {developers} in {number}' - row-format-link-pr: true + row-format-issue: '{type}: {number} _{title}_ by {developers} in {pull-requests}' + row-format-pr: '{number} _{title}_ by {developers}' hierarchy: true + row-format-hierarchy-issue: '{type}: {number} _{title}_ by {developers} {progress}' - - name: Create and Push Tag + - name: Create and push tag uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 + env: + TAG_NAME: ${{ github.event.inputs.tag-name }} with: script: | - const tag = core.getInput('tag-name') + const tag = process.env.TAG_NAME; const ref = `refs/tags/${tag}`; - const sha = context.sha; // The SHA of the commit to tag + const sha = context.sha; await github.rest.git.createRef({ owner: context.repo.owner, @@ -107,7 +115,6 @@ jobs: console.log(`Tag created: ${tag}`); github-token: ${{ secrets.GITHUB_TOKEN }} - tag-name: ${{ github.event.inputs.tag-name }} - name: Create draft release uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda From 222c972400b10a6e0626545c9102a399f030314f Mon Sep 17 00:00:00 2001 From: "Tobias.Mikula" Date: Fri, 12 Jun 2026 10:53:59 +0200 Subject: [PATCH 2/2] Update for chapters. --- .github/workflows/release_draft.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release_draft.yml b/.github/workflows/release_draft.yml index 6dcfcc91..b19f5f30 100644 --- a/.github/workflows/release_draft.yml +++ b/.github/workflows/release_draft.yml @@ -76,8 +76,8 @@ jobs: from-tag-name: ${{ github.event.inputs.from-tag-name }} chapters: | - { title: Breaking Changes 💥, label: breaking change, order: 10 } - - { title: Epics 🎉, label: epic, order: 20 } - - { title: New Features 🎉, label: feature, order: 30 } + - { title: Epics 🚀, label: epic, order: 20 } + - { title: New Features 🎉, label: enhancement, order: 30 } - { title: Bugfixes 🛠, label: bug, order: 40 } - { title: Infrastructure ⚙️, label: infrastructure, order: 50 } - { title: Spikes 💡, label: spike, order: 60 }