patch-release-me

Crates.iopatch-release-me
lib.rspatch-release-me
version
sourcesrc
created_at2024-05-23 19:08:08.217635
updated_at2024-11-21 20:32:45.994813
descriptionA tool to automate patching of your projects before you release them
homepage
repositoryhttps://github.com/42ByteLabs/patch-release-me
max_upload_size
id1249917
Cargo.toml error:TOML parse error at line 19, column 1 | 19 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Mathew Payne (GeekMasher)

documentation

https://docs.rs/patch-release-me

README

Patch Release Me

GitHub Crates.io Version Crates.io Downloads (recent) GitHub Stars Licence

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.

Commit count: 122

cargo fmt