https://github.com/magicbell/release-discussion-action
Publish new releases to a github discussion
https://github.com/magicbell/release-discussion-action
Last synced: about 1 year ago
JSON representation
Publish new releases to a github discussion
- Host: GitHub
- URL: https://github.com/magicbell/release-discussion-action
- Owner: magicbell
- License: mit
- Created: 2023-11-29T14:44:24.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-21T13:43:22.000Z (over 1 year ago)
- Last Synced: 2025-06-26T09:50:16.547Z (about 1 year ago)
- Language: TypeScript
- Size: 17.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Discussion Release Action
This action for GitHub Actions creates release discussions and posts comments to
them on every release.
On a release, a GitHub Discussion is looked up or created for the current cycle.
A comment is then posted to the discussion with the release notes. A TOC is also
added to the discussion description and kept up to date with every release.
This action works particularly well with [changesets](https://github.com/changesets/action)
and makes it so that the release notes of all your packages are posted to a
single discussion category.
Note that the comments are updated when you edit a release. This way, the release
is the source of truth. Omit the `edited` and `deleted` triggers if you don't want
this and want to be able to edit release notes in the discussion instead.
Example workflow:
```yaml
name: Release To Discussions
on:
release:
types: [created, edited, deleted]
# you want to prevent race conditions when multiple releases are
# created at the same time, which happens often in mono-repos.
concurrency: release-discussion-action
jobs:
publish-release-notes:
name: Publish Release Notes
runs-on: ubuntu-latest
steps:
- name: publish discussion
uses: magicbell/release-discussion-action@main
with:
# the repository where the discussions are hosted
repo: magicbell/community
# category slug, can be found in the URL of the category page
category: product-changelog
# group releases by week or month
cycle: week
# an optional prefix can be used that will be prepended to the release title
# this is typically used for non node packages
# release-prefix: the-package-name
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```