fl03/Bumper
Bump version strings across a repository with format-aware regex substitution. Handles TOML (workspace.package + dep pins), Nix, JSON, Markdown, and generic text files. Include/exclude sets accept comma-separated or YAML-list syntax.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| from | Current (old) version string — e.g. 1.2.3 | yes | — |
| to | Next (new) version string — e.g. 1.2.4 | yes | — |
| includes | Files to process. Accepts comma-separated values, YAML inline lists [a, b, c], or multiline strings. Each entry is a glob pattern resolved relative to the repository root (** is supported). Exact filenames like `Cargo.toml` are also valid. | no | Cargo.toml,**/*.nix,README.md |
| excludes | Paths, directory names, or glob patterns to skip. Matched against each path component as well as the full relative path. Defaults cover the directories and lock files that must never be touched. | no | .git,target,node_modules,.artifacts,*.lock,*-lock.* |
| toml-dep-prefix | Comma-separated list of name prefixes. Lines in *.toml files whose content contains one of these prefixes will additionally have their `version = "OLD"` dep-pin updated. Useful for monorepos where workspace dependencies carry inline version constraints. Example: `mylib` matches `mylib-core = { ..., version = "1.2.3" }`. | no | "" |
| dry-run | Set to `true` to print what would change without writing any files. Useful for debugging include/exclude patterns in CI. | no | false |
| commit | Set to `true` to stage and commit the modified files after bumping. Requires the checkout step to have `persist-credentials: true` (the default). | no | false |
| commit-message | Commit message used when `commit` is `true`. | no | chore: bump version to ${{ inputs.to }} |
Outputs
| name | description |
|---|---|
| changed-files | Newline-separated list of repository-relative paths that were modified (empty string when dry-run is true or no changes were needed). |