mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-12-12 01:42:19 +00:00
and remove CHANGELOG.md logic. This is my attempt to create a draft release instead of editing a changelog, see discussion on discord. Logic: - new github workflow `.github/workflows/release-notes.yaml` - runs with every push on `develop` (so after PR's are merged) - collects the commits on `develop` which are newer than the latest tag - searches the commit messages for keywords defined in an array and group the messages into categories (this is a first shot, we will update this ...) - creates markdown content - looks for an untagged and unpublished draft release with name `unreleased`, if it exists, it will be deleted - creates an untagged and unpublished draft release with name `unreleased` with markdown content created above Example created on my fork (this caused having `MagicMirrorOrg` in the PR-Links): <img width="952" height="1804" alt="grafik" src="https://github.com/user-attachments/assets/38687bed-f5da-4dcb-93eb-242c317769df" /> Please review this PR, it is a draft release at the moment because I got problems in my fork where I tested this: The created draft release is not visible at the moment (they are visible via api). AFAIS this is a queue problem on GitHub, maybe I flooded their queue while testing ... So I will test this tomorrow again before removing `draft` here.
34 lines
755 B
YAML
34 lines
755 B
YAML
# This workflow writes a draft release on GitHub named `unreleased` after every push on develop
|
|
|
|
name: "Create Release Notes"
|
|
|
|
on:
|
|
push:
|
|
branches: [develop]
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
release-notes:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 15
|
|
steps:
|
|
- name: "Checkout code"
|
|
uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: "0"
|
|
- name: "Use Node.js"
|
|
uses: actions/setup-node@v6
|
|
with:
|
|
node-version: lts/*
|
|
cache: "npm"
|
|
- name: "Create Markdown content"
|
|
run: |
|
|
export GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
|
|
node js/releasenotes.js
|