11 unstable releases (3 breaking)
0.4.0 | Nov 21, 2024 |
---|---|
0.3.1 | Oct 31, 2024 |
0.3.0 | Sep 5, 2024 |
0.2.1 | Aug 21, 2024 |
0.1.5 | May 30, 2024 |
#49 in Configuration
161 downloads per month
35KB
780 lines
This is a tool I built to help maintain a number of code bases.
✨ Features
- Configuration as Code
- Define how to patch your code before release
- Versioning Helpers
📦 Usage
You can install / use the tool is a number of different ways
Cargo / Crates.io
cargo install patch-release-me
GitHub Actions
- name: "Patch Release Me"
uses: 42ByteLabs/patch-release-me@0.4.0
with:
# Bump (patch)
mode: bump
Container Image
Pull Container from GitHub:
docker pull ghcr.io/42bytelabs/patch-release-me:0.4.0
Run Image:*
docker run -it --rm -v $PWD:/app ghcr.io/42bytelabs/patch-release-me:0.4.0 patch-release-me --help
Manual Install
cargo install --git https://github.com/42ByteLabs/patch-release-me
Configuration
# Project / Repository Version
version: 1.2.3
#[optional]: name of the software you are releasing
name: "patch-release-me"
#[optional]: repository owner/name
repository: "42ByteLabs/patch-release-me"
#[optional]: Ecosystem to use
ecosystems:
# Only `Rust` tagged defaults will be used
- "Rust"
#[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])"'
# You can also use placeholders
# {version}, {major}, {minor}, {patch}, {repository}
- 'version = "{version}"'
🦸 Support
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.
📓 License
This project is licensed under the terms of the MIT open source license. Please refer to MIT for the full terms.
Dependencies
~10–20MB
~276K SLoC