git-release
Create a GitHub Release with Assets and Changelog
50K+
A GitHub Action for creating a GitHub Release with Assets and Changelog whenever a new Tag is pushed to the repository.

CHANGELOG.md according to keepachangelog.com.
For example:## [3.4.0] - 2020-07-10
### Added
- Glob pattern support
- Unit Tests
- Log version
### Fixed
- Exception on margins larger than context of changelog
- Nil pointer exception in 'release' package
### Changed
- Refactor JavaScript wrapper
## [3.3.0] - 2020-06-27
### Added
- Wrapper script: allow execution on Windows runners
### Changed
- Action execution through Git: from Docker to NodeJS
[3.4.0]: https://github.com/anton-yurchenko/git-release/compare/v3.3.0...v3.4.0
[3.3.0]: https://github.com/anton-yurchenko/git-release/releases/tag/v3.3.0

'*' or a more specific like 'v*':on:
push:
tags:
- 'v*'
- name: Release
uses: docker://antonyurchenko/git-release:latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DRAFT_RELEASE: "false"
PRE_RELEASE: "false"
CHANGELOG_FILE: "CHANGELOG.md"
ALLOW_EMPTY_CHANGELOG: "false"
ALLOW_TAG_PREFIX: "true"
with:
args: |
build/*-amd64.zip
args (divided by one of: new line, space, comma, pipe)DRAFT_RELEASE (true/false as string) - Save release as draft instead of publishing it (default false).PRE_RELEASE (true/false as string) - GitHub will point out that this release is identified as non-production ready (default: false).CHANGELOG_FILE (string) - Changelog filename (default: CHANGELOG.md).
none in order to completely ignore changelog. This enables to run the action without repository checkout.ALLOW_EMPTY_CHANGELOG (true/false as string) - Allow publishing a release without changelog (default false).ALLOW_TAG_PREFIX (true/false as string) - Allow prefix on version Tag, for example v3.2.0 or release-3.2.0 (default: false).RELEASE_NAME (string) - Complete release title (may not be combined with PREFIX or SUFFIX).RELEASE_NAME_PREFIX (string) - Release title prefix.RELEASE_NAME_SUFFIX (string) - Release title suffix.Execute git-release through JavaScrip Wrapper on Windows Runners.
Example:
- name: Release
uses: anton-yurchenko/git-release@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DRAFT_RELEASE: "false"
PRE_RELEASE: "false"
CHANGELOG_FILE: "CHANGELOG.md"
ALLOW_EMPTY_CHANGELOG: "false"
ALLOW_TAG_PREFIX: "true"
with:
args: |
build\\darwin-amd64.zip
build\\linux-amd64.zip
build\\windows-amd64.zip
:information_source: Configuration Examples
v1.0.0 and changelog version 1.0.0.latest / v3 / v3.4 / v3.4.1. You may lock to a certain version instead of using latest.v3)docker://antonyurchenko/git-release:latest to anton-yurchenko/git-release@mastergit-release operates assets with pattern matching, this means that it is unable to validate whether an asset exists or not.MIT © 2019-present Anton Yurchenko
Content type
Image
Digest
sha256:b3a7d6a87…
Size
2.2 MB
Last updated
about 2 years ago
Requires Docker Desktop 4.37.1 or later.