Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anton-yurchenko/changelog-version
Create new version out of an unreleased section in changelog file
https://github.com/anton-yurchenko/changelog-version
action actions cd changelog changelog-version ci create-changelog-version github github-actions keepachangelog release release-changelog-version semver version
Last synced: 23 days ago
JSON representation
Create new version out of an unreleased section in changelog file
- Host: GitHub
- URL: https://github.com/anton-yurchenko/changelog-version
- Owner: anton-yurchenko
- License: mit
- Created: 2023-07-28T14:26:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-07T16:10:36.000Z (2 months ago)
- Last Synced: 2024-10-05T11:23:46.957Z (about 1 month ago)
- Topics: action, actions, cd, changelog, changelog-version, ci, create-changelog-version, github, github-actions, keepachangelog, release, release-changelog-version, semver, version
- Language: Go
- Homepage: https://github.com/marketplace/actions/create-changelog-version
- Size: 16.4 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# changelog-version
[![Release](https://img.shields.io/github/v/release/anton-yurchenko/changelog-version)](https://github.com/anton-yurchenko/changelog-version/releases/latest)
[![Code Coverage](https://codecov.io/gh/anton-yurchenko/changelog-version/branch/main/graph/badge.svg)](https://codecov.io/gh/anton-yurchenko/changelog-version)
[![Go Report Card](https://goreportcard.com/badge/github.com/anton-yurchenko/changelog-version)](https://goreportcard.com/report/github.com/anton-yurchenko/changelog-version)
[![Release](https://github.com/anton-yurchenko/changelog-version/actions/workflows/release.yml/badge.svg)](https://github.com/anton-yurchenko/changelog-version/actions/workflows/release.yml)
[![Docker Pulls](https://img.shields.io/docker/pulls/antonyurchenko/changelog-version)](https://hub.docker.com/r/antonyurchenko/changelog-version)
[![License](https://img.shields.io/github/license/anton-yurchenko/changelog-version)](LICENSE.md)A **GitHub Action** for a new version creation in the **changelog file** using an **Unreleased section**.
Demo
![PIC](docs/images/demo.gif)
## Features
- Parse input to match [Semantic Versioning](https://semver.org/)
- [Keep a Changelog](https://keepachangelog.com/) Compliant
- Supports GitHub Enterprise
- Supports standard `v` prefix out of the box
- Automatically retries API operations## Manual
1. Add changes to the **Unreleased** section in `CHANGELOG.md` file in your feature branch. *For example:*
```markdown
## [Unreleased]### 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
```2. Review the changes and merge Pull Request
3. Manually start a GitHub Actions Workflow providing a desired Semantic Version (**including `v` prefix**)
4. **Changelog-Release** will update the Changelog file, create Tags and push the changes :wink:
- [*optionally*] Trigger another workflow using the newly arrived Version Tag
- [*optionally*] Update other files within current workflow before `changelog-version` to commit changed files as well (useful when you need to update a version in one of the project files like `package.json`)## Configuration
1. Change the workflow to be triggered manually with the required inputs:
```yaml
on:
workflow_dispatch:
inputs:
version:
type: string
description: "Semantic Version (X.X.X)"
required: true
```2. Add *Release* step to your workflow:
```yaml
- name: Update Changelog
uses: docker://antonyurchenko/changelog-version:v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VERSION: ${{ github.event.inputs.version }}
UPDATE_TAGS: "true"
```3. Configure *Release* step:
| Environmental Variable | Allowed Values | Default Value | Description |
|:-----------------------:|:-----------------:|:-----------------:|:------------------------------------------:|
| `CHANGELOG_FILE` | `*` | `CHANGELOG.md` | Changelog filename |
| `UPDATE_TAGS` | `true`/`false` | `false` | Update major and minor tags (`vX`, `vX.X`) |## Remarks
- This action has multiple tags: `latest / v1 / v1.2 / v1.2.3`. You may lock to a certain version instead of using **latest**.
(*Recommended to lock against a major version, for example* `v4`)
- Docker image is published both to [**Docker Hub**](https://hub.docker.com/r/antonyurchenko/changelog-version) and [**GitHub Packages**](https://github.com/anton-yurchenko/changelog-version/packages). If you don't want to rely on **Docker Hub** but still want to use the dockerized action, you may switch from `uses: docker://antonyurchenko/changelog-version:latest` to `uses: docker://ghcr.io/anton-yurchenko/changelog-version:latest`
- `changelog-version` may crash when executed against a not supported changelog file format. Make sure your changelog file is compliant to one of the supported formats.## License
[MIT](LICENSE.md) © 2023-present Anton Yurchenko