Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/antfu/changelogithub
Generate changelog for GitHub
https://github.com/antfu/changelogithub
changelog github github-actions release
Last synced: 1 day ago
JSON representation
Generate changelog for GitHub
- Host: GitHub
- URL: https://github.com/antfu/changelogithub
- Owner: antfu
- License: mit
- Created: 2022-06-13T04:58:57.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-05T08:38:40.000Z (3 months ago)
- Last Synced: 2025-01-09T04:09:39.386Z (4 days ago)
- Topics: changelog, github, github-actions, release
- Language: TypeScript
- Homepage:
- Size: 606 KB
- Stars: 763
- Watchers: 3
- Forks: 37
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome - changelogithub - Generate changelog and create GitHub release. (GitHub Actions)
- awesome - antfu/changelogithub - Generate changelog for GitHub (TypeScript)
- awesome - antfu/changelogithub - Generate changelog for GitHub (TypeScript)
README
# changelogithub
[![NPM version](https://img.shields.io/npm/v/changelogithub?color=a1b858&label=)](https://www.npmjs.com/package/changelogithub)
Generate changelog for GitHub releases from [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), powered by [changelogen](https://github.com/unjs/changelogen).
[👉 Changelog example](https://github.com/unocss/unocss/releases/tag/v0.39.0)
## Features
- Support exclamation mark as breaking change, e.g. `chore!: drop node v10`
- Grouped scope in changelog
- Create the release note, or update the existing one
- List contributors## Usage
In GitHub Actions:
```yml
# .github/workflows/release.ymlname: Release
permissions:
contents: writeon:
push:
tags:
- 'v*'jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0- name: Set node
uses: actions/setup-node@v4
with:
registry-url: https://registry.npmjs.org/
node-version: lts/*- run: npx changelogithub # or [email protected] if ensure the stable result
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
```It will be trigged whenever you push a tag to GitHub that starts with `v`.
## Configuration
You can put a configuration file in the project root, named as `changelogithub.config.{json,ts,js,mjs,cjs}`, `.changelogithubrc` or use the `changelogithub` field in `package.json`.
## Preview Locally
```bash
npx changelogithub --dry
```## Why?
I used to use [`conventional-github-releaser`](https://github.com/conventional-changelog/releaser-tools/tree/master/packages/conventional-github-releaser) for almost all my projects. Until I found that it [does NOT support using exclamation marks for breaking changes](https://github.com/conventional-changelog/conventional-changelog/issues/648) - hiding those important breaking changes in the changelog without the awareness from maintainers.
## License
[MIT](./LICENSE) License © 2022 [Anthony Fu](https://github.com/antfu)