- update readme, with more details, more emojis, more everything
This commit is contained in:
@@ -1,11 +1,49 @@
|
|||||||
|
<div align="center">
|
||||||
|
:octocat:
|
||||||
|
</div>
|
||||||
|
<h1 align="center">
|
||||||
|
release-changelog-builder-action
|
||||||
|
</h1>
|
||||||
|
|
||||||
# release-changelog-builder-action
|
<p align="center">
|
||||||
|
... a github action that builds your release notes, fast, easy and exactly the way you want.
|
||||||
|
</p>
|
||||||
|
|
||||||
Builds the release notes between two tags (or refs) from pull requests merged.
|
<div align="center">
|
||||||
|
<a href="https://github.com/mikepenz/release-changelog-builder-action/actions">
|
||||||
|
<img src="https://github.com/mikepenz/release-changelog-builder-action/workflows/CI/badge.svg"/>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
|
||||||
## Action usage
|
-------
|
||||||
|
|
||||||
Include this action in your build by defining the action in your workflow:
|
<p align="center">
|
||||||
|
<a href="#whats-included-">What's included 🚀</a> •
|
||||||
|
<a href="#setup">Setup 🛠️</a> •
|
||||||
|
<a href="#customization-">Customization 🖍️</a> •
|
||||||
|
<a href="#contribute-">Contribute 🧬</a> •
|
||||||
|
<a href="#license">License 📓</a> •
|
||||||
|
</p>
|
||||||
|
|
||||||
|
-------
|
||||||
|
|
||||||
|
### What's included 🚀
|
||||||
|
|
||||||
|
- Super simple integration
|
||||||
|
- even on huge repositories with hundreds of tags
|
||||||
|
- Parallel releases support
|
||||||
|
- Blazing fast execution
|
||||||
|
- Suports any git project
|
||||||
|
- Highly flexible configuration
|
||||||
|
- Lightweight
|
||||||
|
- Supports any branch
|
||||||
|
|
||||||
|
# Setup
|
||||||
|
|
||||||
|
## Configure the workflow
|
||||||
|
|
||||||
|
Specify the action as part of your GitHub actions workflow:
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
- name: "Build Changelog"
|
- name: "Build Changelog"
|
||||||
@@ -16,17 +54,20 @@ Include this action in your build by defining the action in your workflow:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
```
|
```
|
||||||
|
|
||||||
This will automatically pull the tag from the current commit (the latest tag), and try to resolve the tag before this.
|
By default the action will try to automatically retrieve the `tag` from the current commit, and automtacally resolve the `tag` before. Read more about this here.
|
||||||
|
|
||||||
## Action outputs
|
## Action outputs
|
||||||
|
|
||||||
The result of this action is returned via the outputs, and can be retrieved via the `changelog` value in the step afterwards. See the `test.yml` for a sample.
|
The action will succeed and return the `changelog` as a step output. Use it in any follow up step, by referencing via its id. For example `build_changelog`.
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
|
# ${{steps.{CHANGELOG_STEP_ID}.outputs.changelog}}
|
||||||
${{steps.build_changelog.outputs.changelog}}
|
${{steps.build_changelog.outputs.changelog}}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Configuration
|
# Customization 🖍️
|
||||||
|
|
||||||
|
## Changelog Configuration
|
||||||
|
|
||||||
By default the action will look for a file called `configuration.json` within the root of the repository to load the config from. If this file does not exist, defaults are used.
|
By default the action will look for a file called `configuration.json` within the root of the repository to load the config from. If this file does not exist, defaults are used.
|
||||||
|
|
||||||
@@ -37,10 +78,6 @@ By default the action will look for a file called `configuration.json` within th
|
|||||||
"title": "## 🚀 Features",
|
"title": "## 🚀 Features",
|
||||||
"labels": ["feature"]
|
"labels": ["feature"]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"title": "## 🦄 Internal Features",
|
|
||||||
"labels": ["internal"]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"title": "## 🐛 Fixes",
|
"title": "## 🐛 Fixes",
|
||||||
"labels": ["fix"]
|
"labels": ["fix"]
|
||||||
@@ -86,32 +123,38 @@ For advanced usecases additional settings can be provided to the action
|
|||||||
configuration: "configuration_complex.json"
|
configuration: "configuration_complex.json"
|
||||||
owner: "mikepenz"
|
owner: "mikepenz"
|
||||||
repo: "release-changelog-builder-action"
|
repo: "release-changelog-builder-action"
|
||||||
ignorePreReleases: "false" # allows to skip any pre releases, if `fromTag` needs to be automatically resolved (ignores 0.0.2-rc02 for example) - only relevant if `fromTag` is not provided
|
ignorePreReleases: "false"
|
||||||
fromTag: "0.0.2"
|
fromTag: "0.0.2"
|
||||||
toTag: "0.0.3"
|
toTag: "0.0.3"
|
||||||
token: ${{ secrets.GITHUB_TOKEN }} # the token to use, for a different repository a PAT is required (Personal access token)
|
token: ${{ secrets.PAT }}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
💡 `ignorePreReleases` will be ignored, if `fromTag` is specified. `${{ secrets.GITHUB_TOKEN }}` only grants rights to the current repository, for other repos please use a PAT.
|
||||||
|
|
||||||
## PR Template placeholders
|
## PR Template placeholders
|
||||||
|
|
||||||
| Variable | Description |
|
Table of supported placeholders allowed to be used in the `template` configuration.
|
||||||
| --------- | -------------------------- |
|
|
||||||
| `${{NUMBER}}` | Pull request number |
|
|
||||||
| `${{TITLE}}` | The title of the pull request |
|
|
||||||
| `${{URL}}` | The URL linking to the pull request |
|
|
||||||
| `${{MERGED_AT}}` | The time this PR was merged |
|
|
||||||
| `${{AUTHOR}}` | The author of the pull request |
|
|
||||||
| `${{BODY}}` | The body / description of the pull request |
|
|
||||||
|
|
||||||
## Template placeholdrs
|
| **Placeholder** | **Description** |
|
||||||
|
|------------------|-------------------------------------------------------------|
|
||||||
|
| `${{NUMBER}}` | The number referencing this pull request. E.g. 13 |
|
||||||
|
| `${{TITLE}}` | Specified title of the merged pull request |
|
||||||
|
| `${{URL}}` | Url linking to the pull request on GitHub |
|
||||||
|
| `${{MERGED_AT}}` | The ISO time, the pull request was merged at |
|
||||||
|
| `${{AUTHOR}}` | Author creating and opening the pull request |
|
||||||
|
| `${{BODY}}` | Description/Body of the pull request as specified on GitHub |
|
||||||
|
|
||||||
| Variable | Description |
|
## Template placeholders
|
||||||
| --------- | -------------------------- |
|
|
||||||
| `${{CHANGELOG}}` | The contents of the main changelog, matching the labels as specified in the categories configuration |
|
Table of supported placeholders allowed to be used in the `pr_template` configuration.
|
||||||
| `${{UNCATEGORIZED}}` | All pull requests not matching a label |
|
|
||||||
|
| **Placeholder** | **Description** |
|
||||||
|
|----------------------|-------------------------------------------------------------------------------------------------|
|
||||||
|
| `${{CHANGELOG}}` | The contents of the changelog, matching the labels as specified in the categories configuration |
|
||||||
|
| `${{UNCATEGORIZED}}` | All pull requests not matching a specified label in categories |
|
||||||
|
|
||||||
|
|
||||||
# Contribute
|
# Contribute 🧬
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Install the dependencies
|
# Install the dependencies
|
||||||
@@ -133,7 +176,6 @@ It's suggested to export the token to your path, before running the tests, so AP
|
|||||||
export GITHUB_TOKEN=your_personal_github_pat
|
export GITHUB_TOKEN=your_personal_github_pat
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
# Developed By
|
# Developed By
|
||||||
|
|
||||||
* Mike Penz
|
* Mike Penz
|
||||||
|
|||||||
Reference in New Issue
Block a user