Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<!-- What problem does it solve or what feature does it add? -->
## Overview

<!-- Summarize the key changes for release notes. -->
## Release Notes
- TBD: 1st item of release notes
- TBD: 2nd item of release notes

<!-- Add attached issue that this PR solves. -->
## Related
Closes #issue_number
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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'
65 changes: 36 additions & 29 deletions .github/workflows/release_draft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,29 @@
# limitations under the License.
#

name: Release - create draft release
name: Draft Release
on:
workflow_dispatch:
inputs:
tag-name:
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
Expand All @@ -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:
Expand All @@ -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: enhancement, 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,
Expand All @@ -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
Expand Down
Loading