This is a tool I built to help maintain a number of code bases.
- Configuration as Code
- Define how to patch your code before release
- Versioning Helpers
You can install / use the tool is a number of different ways
cargo install patch-release-me
- name: "Patch Release Me"
uses: 42ByteLabs/[email protected]
with:
# Bump (patch)
mode: bump
Pull Container from GitHub:
docker pull ghcr.io/42bytelabs/patch-release-me:0.3.0
Run Image:*
docker run -it --rm -v $PWD:/app ghcr.io/42bytelabs/patch-release-me:0.3.0 patch-release-me --help
cargo install --git https://github.com/42ByteLabs/patch-release-me
# [optional]: name of the software you are releasing
name: "patch-release-me"
#[optional]: Are the default release locations added
default: true
# Patch Locations
locations:
# Array of objects
# Name of the patch
- name: "Docs Patch"
paths:
# Glob supported path to the files you want to patch
- 'Cargo.toml'
# [optional]: Exclude dirs/files
excludes:
- '/target/'
# Patterns to use to patch the files
patterns:
# Regex Patterns to find what version you want to patch which requires
# a capture group `(...)`. The patterns are checks are runtime.
- 'version = "([0-9]\.[0-9]\.[0.9])"'
Please create GitHub Issues if there are bugs or feature requests.
This project uses Semantic Versioning (v2) and with major releases, breaking changes will occur.
This project is licensed under the terms of the MIT open source license. Please refer to MIT for the full terms.