GitHub Action for creating GitHub Releases based on changelog.
This action creates GitHub Releases based on changelog that specified by changelog
option.
Currently, changelog format and supported tag names have the following rule:
-
This action uses parse-changelog to parse changelog. Only the changelog format accepted by parse-changelog is supported.
Basically, Keep a Changelog and similar formats are supported, but we recommend checking if parse-changelog can parse your project's changelog as you expected.
If the
changelog
option is not specified, the changelog is ignored and only the release created. -
The supported tag format is
v?MAJOR.MINOR.PATCH(-PRERELEASE)?(+BUILD_METADATA)?
. (leading "v", pre-release version, and build metadata are optional.) This is based on Semantic Versioning
Name | Required | Description | Type | Default |
---|---|---|---|---|
changelog | false | Path to changelog | String | |
title | false | Format of title (variables $tag , $version , and any string) |
String | $tag |
name: Release
on:
push:
tags:
- v[0-9]+.*
jobs:
create-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: taiki-e/create-gh-release-action@v1
with:
# (optional) Path to changelog.
changelog: CHANGELOG.md
env:
# (required) GitHub token for creating GitHub Releases.
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
You can customize the title of the release by title
option.
Example of the created release.
name: Release
on:
push:
tags:
- v[0-9]+.*
jobs:
create-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: taiki-e/create-gh-release-action@v1
with:
# (optional)
changelog: CHANGELOG.md
# (optional) Format of title.
# [default value: $tag]
# [possible values: variables $tag, $version, and any string]
title: $version
env:
# (required)
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
If the changelog
option is not specified, the changelog is ignored and only the release created.
Example of the created release.
name: Release
on:
push:
tags:
- v[0-9]+.*
jobs:
create-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: taiki-e/create-gh-release-action@v1
env:
# (required)
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- upload-rust-binary-action: GitHub Action for building and uploading Rust binary to GitHub Releases.
- parse-changelog: A simple changelog parser, written in Rust. Used in this action.
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.