Skip to content

42ByteLabs/patch-release-me

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

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.6.2
  with:
    # Bump (patch)
    mode: bump

Container Image

Pull Container from GitHub:

docker pull ghcr.io/42bytelabs/patch-release-me:0.6.2

Run Image:*

docker run -it --rm -v $PWD:/app ghcr.io/42bytelabs/patch-release-me:0.6.2 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.

About

Patch Release Me

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •