{"id":15659653,"url":"https://github.com/meilcli/bump-release-action","last_synced_at":"2026-01-16T16:19:44.906Z","repository":{"id":36988849,"uuid":"282013168","full_name":"MeilCli/bump-release-action","owner":"MeilCli","description":"Bump version and publish release action","archived":false,"fork":false,"pushed_at":"2025-07-01T01:23:54.000Z","size":5474,"stargazers_count":23,"open_issues_count":6,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-01T01:36:15.764Z","etag":null,"topics":["bump-version","github-actions","release-notes","tag-manager"],"latest_commit_sha":null,"homepage":"https://github.com/MeilCli/actions","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MeilCli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"MeilCli"}},"created_at":"2020-07-23T17:20:12.000Z","updated_at":"2025-07-01T00:42:58.000Z","dependencies_parsed_at":"2023-12-21T22:26:52.884Z","dependency_job_id":"66e6090f-0be9-4c56-8279-fd3461a36fe8","html_url":"https://github.com/MeilCli/bump-release-action","commit_stats":{"total_commits":594,"total_committers":8,"mean_commits":74.25,"dds":"0.26262626262626265","last_synced_commit":"43f377557f9aa28c30b1652364cb440c570fa00d"},"previous_names":[],"tags_count":127,"template":false,"template_full_name":null,"purl":"pkg:github/MeilCli/bump-release-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeilCli%2Fbump-release-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeilCli%2Fbump-release-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeilCli%2Fbump-release-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeilCli%2Fbump-release-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MeilCli","download_url":"https://codeload.github.com/MeilCli/bump-release-action/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeilCli%2Fbump-release-action/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264816249,"owners_count":23668157,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bump-version","github-actions","release-notes","tag-manager"],"created_at":"2024-10-03T13:18:01.663Z","updated_at":"2026-01-16T16:19:44.837Z","avatar_url":"https://github.com/MeilCli.png","language":"TypeScript","readme":"## bump-release-action\n[![CI-Master](https://github.com/MeilCli/bump-release-action/actions/workflows/ci-master.yml/badge.svg)](https://github.com/MeilCli/bump-release-action/actions/workflows/ci-master.yml)  \nBump version and publish release action\n\nThis action is bump version from latest release, publish release with changes note and push to version branch. Made it for the development of the action, but it can also be used for other purposes\n\nFeatures:\n- Calculate next version from latest release, Commit and PullRequest\n- Create release note by Commit and PullRequest\n- Publish release\n- Push commits to version branch\n- Change the version written in the file\n\n## Table of Contents\n- [Example](README.md#example)\n- [Input](README.md#input)\n- [Output](README.md#output)\n- [Configuration](README.md#configuration)\n  - [Overview](README.md#overview)\n  - [Release](README.md#release)\n  - [Branch](README.md#branch)\n  - [Categories](README.md#categories)\n  - [Bump](README.md#bump)\n  - [Files](README.md#files)\n- [Attention](README.md#attention)\n- [License](README.md#license)\n\n## Example\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"documents/release.png\"\u003e\n\u003c/div\u003e\n\n```yaml\n# .github/workflows/release.yml:\nname: Release\n\non:\n  workflow_dispatch:\n    inputs:\n      bump:\n        description: 'bump type, major or minor or patch or empty string'\n        default: ''\n      dry_run:\n        description: 'dry run, true or false'\n        default: 'false'\n      draft:\n        description: 'draft, true or false'\n        default: 'false'\n      pre_release:\n        description: 'pre release, true or false'\n        default: 'false'\n\njobs:\n  release:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n        with:\n          fetch-depth: 0\n      - uses: actions/setup-node@v4\n        with:\n          node-version: 20\n      - run: npm install\n      - run: npm run build\n      - run: npm run test\n      - uses: MeilCli/bump-release-action@v2\n        with:\n          config_path: '.github/bump.yml'\n          bump: ${{ github.event.inputs.bump }}\n          dry_run: ${{ github.event.inputs.dry_run }}\n          draft: ${{ github.event.inputs.draft }}\n          pre_release: ${{ github.event.inputs.pre_release }}\n```\nYou can also pin to a [specific release](https://github.com/MeilCli/bump-release-action/releases) version in the format `@v2.x.x`\n\n```yaml\n# .github/bump.yml\nrelease:\n  title-prefix: 'v'\n  initial-version: '0.0.1'\n  tag-prefix: 'v'\n  commit-note-replacers:\n    - replace-prefix: 'breaking: '\n      new-prefix: ''\n    - replace-prefix: 'feature: '\n      new-prefix: ''\n    - replace-prefix: 'change: '\n      new-prefix: ''\n    - replace-prefix: 'fix: '\n      new-prefix: ''\n    - replace-prefix: 'document: '\n      new-prefix: ''\n    - replace-prefix: 'dependency: '\n      new-prefix: ''\nbranch:\n  version-branch-prefix: 'v'\n  bump-version-commit-prefix: 'v'\ncategories:\n  - title: 'Breaking Changes!'\n    labels:\n      - 'BreakingChange'\n    commits:\n      - 'breaking:'\n    changes-prefix: ':warning: '\n  - title: 'Changes'\n    labels:\n      - 'Feature'\n    commits:\n      - 'feature:'\n    changes-prefix: ':gift: '\n  - title: 'Changes'\n    labels:\n      - Maintenance\n    commits:\n      - 'change:'\n    changes-prefix: ':hammer: '\n  - title: 'Bug Fixes'\n    labels:\n      - 'Bug'\n    commits:\n      - 'fix:'\n    changes-prefix: ':ambulance: '\n  - title: 'Changes'\n    labels:\n      - 'Documentation'\n    commits:\n      - 'document:'\n    changes-prefix: ':blue_book: '\n  - title: 'Dependency Updates'\n    labels:\n      - 'Dependencies'\n    skip-label: 'Development'\n    commits:\n      - 'dependency:'\n    changes-prefix: ':green_book: '\nbump:\n  default: 'patch'\n  major:\n    labels:\n      - 'BreakingChange'\n    commits:\n      - 'breaking:'\n  minor:\n    labels:\n      - 'Feature'\n    commits:\n      - 'feature:'\nfiles:\n  - file-path: 'package.json'\n    line: 3\n  - file-path: 'package-lock.json'\n    line: 3\n\n```\n\n### Default commit calculating strategy\n```mermaid\ngitGraph:\n    commit id: \"1\"\n    commit id: \"2\"\n    branch pr\n    commit id: \"3\" type:reverse\n    commit id: \"4\" type:reverse\n    checkout main\n    merge pr id: \"merge pull request\" type:reverse tag:\"label\"\n    commit id: \"5\"\n```\nPull request commit is excluded on commit calculating about release note and version.\n\n[more information](./documents/commit-calculating-strategy.md)\n\n\n## Input\n- `repository`\n  - required\n  - running repository, format: owner/repository\n  - default: `${{ github.repository }}`\n- `base_url`\n  - the URL of where the repository is hosted\n  - default: `github.com`\n- `github_token`\n  - required\n  - github token, using to read and write repository\n  - default: `${{ github.token }}`\n- `commit_user`\n  - required\n  - the commit user\n  - default: `github-action`\n- `commit_email`\n  - required\n  - the commit user`s email\n  - default: `41898282+github-actions[bot]@users.noreply.github.com`\n- `config_path`\n  - required\n  - config file path\n- `bump`\n  - how to bump version, value: `major` or `minor` or `patch` or empty string\n  - if set `major`, `minor` or `patch`, priority execute to bump version\n- `dry_run`\n  - if `true`, not create and push this changes, and output release informations\n- `draft`\n  - if `true`, create release as draft\n- `pre_release`\n  - if `true`, create release as pre release\n\n## Output\n- `current_version`\n  - calculated current version\n- `next_version`\n  - calculated next version\n- `release`\n  - the response json of created release\n\n## Configuration\n### Overview\n```yaml\nrelease:\n  title-prefix: 'v'\n  title-postfix: ' Released!'\n  body-title: 'Changed'\n  body-when-empty-changes: 'No changes'\n  initial-version: '0.0.1'\n  tag-prefix: 'v'\n  tag-postfix: '-stable'\n  sort-by: 'note'\n  sort-direction: 'ascending'\n  commit-note-replacers:\n    - replace-prefix: 'feature: '\n      new-prefix: 'feature '\n  pull-request-commit: 'exclude'\nbranch:\n  base-branch: 'develop'\n  version-branch-prefix: 'v'\n  version-branch-postfix: '-stable'\n  create-major-version-branch: false\n  create-minor-version-branch: true\n  bump-version-commit-prefix: 'v'\n  bump-version-commit-postfix: '-stable'\ncategories:\n  - title: 'Feature'\n    labels:\n      - 'feature'\n    skip-label: 'skip'\n    commits:\n      - 'feature:'\n    changes-prefix: '🎁'\n    changes-postfix: '😊'\nbump:\n  default: 'minor'\n  major:\n    labels:\n      - 'major'\n    commits:\n      - 'major:'\n  minor:\n    labels:\n      - 'minor'\n    commits:\n      - 'minor:'\n  patch:\n    labels:\n      - 'patch'\n    commits:\n      - 'patch:'\nfiles:\n  - file-path: 'version1.txt'\n    line: 1\n    start: 10\n```\n\n### Release\n- `title-prefix`\n  - prefix of release title\n- `title-postfix`\n  - postfix of release title\n- `body-title`\n  - title of release body\n  - default: `What's Changed`\n- `body-when-empty-changes`\n  - body of release when empty changes\n  - default: `This release has not changes`\n- `initial-version`\n  - resolved version if cannot get latest release\n  - default: `1.0.0`\n- `tag-prefix`\n  - prefix of tag\n- `tag-postfix`\n  - postfix of tag\n- `sort-by`\n  - sort release notes by `note` or `commit_at`\n  - default: `commit_at`\n- `sort-direction`\n  - sort release notes direction `descending` or `ascending`\n  - default: `descending`\n- `commit-note-replacers`\n  - replacer of release note from Commit\n- `commit-note-replacers.replace-prefix`\n  - replace prefix string\n- `commit-note-replacers.new-prefix`\n  - new prefix string\n- `pull-request-commit`\n  - option of including PullRequest's commit to release note\n  - `exclude`: don't include PullRequest's commit\n  - `include`: include PullRequest's commit(merge commit and branch commit)\n  - `include_merge_commit_only`: include PullRequest's merge commit\n  - `include_branch_commit_only`: include PullRequest's branch commit\n  - default: `exclude`\n  - [more information](./documents/commit-calculating-strategy.md)\n### Branch\n- `base-branch`\n  - base branch of running this action\n  - default: `master`\n- `version-branch-prefix`\n  - prefix of version branch name\n- `version-branch-postfix`\n  - postfix of version branch name\n- `create-major-version-branch`\n  - if `true`, create major version branch and push commit to it\n  - default: `true`\n  - example: \n    - published version(`1.2.3`) =\u003e major version branch(`${version-branch-prefix}1${version-branch-postfix}`)\n    - published version(`1.2.3`) and prefix `v` =\u003e major version branch(`v1`)\n- `create-minor-version-branch`\n  - if `true`, create minor version branch and push commit to it\n  - default: `false`\n  - example:\n    - published version(`1.2.3`) =\u003e minor version branch(`${version-branch-prefix}1.2${version-branch-postfix}`)\n    - published version(`1.2.3`) and prefix `v` =\u003e minor version branch(`v1.2`)\n- `bump-version-commit-prefix`\n  - prefix of bump version commit\n  - using only when provided `files` configurations\n- `bump-version-commit-postfix`\n  - postfix of bump version commit\n  - using only when provided `files` configurations\n\n### Categories\nThis configuration is array value, and Judgment is given priority in order from the top\n\n- `title`\n  - title of this categories\n  - default: `Changes`\n- `labels`\n  - exact match label to determine this category\n  - value: array of string\n- `skip-label`\n  - exact match label to determine skip\n- `commits`\n  - prefix match commit message to determine this category\n  - value: array of string\n- `changes-prefix`\n  - prefix of this changes, using when release note creation\n- `changes-postfix`\n  - postfix of this changes, using when release note creation\n\n### Bump\n- `default`\n  - default bump type\n  - value: `major`, `minor` or `patch`\n  - default: `patch`\n- `major`\n  - condition to judge as major bump\n  - if it is determined, it will be executed in preference to minor bump and patch bump\n- `major.labels`\n  - exact match label to determine this bump\n  - value: array of string\n- `major.commits`\n  - prefix match commit message to determine this bump\n  - value: array of string\n- `minor`\n  - condition to judge as minor bump\n  - if it is determined, it will be executed in preference to patch bump\n- `minor.labels`\n  - exact match label to determine this bump\n  - value: array of string\n- `minor.commits`\n  - prefix match commit message to determine this bump\n  - value: array of string\n- `patch`\n  - condition to judge as patch bump\n- `patch.labels`\n  - exact match label to determine this bump\n  - value: array of string\n- `patch.commits`\n  - prefix match commit message to determine this bump\n  - value: array of string\n\n### Files\nThis configuration is array value, if provide configuration, commit version up and push commit to base branch\n\n- `file-path`\n  - file that want version up\n- `line`\n  - number of lines containing the version want to version up\n- `start`\n  - start of line containing the version want to version up\n  - optional\n  - note: use when contained multiple version in single line\n\n## Attention\nCurrently, cannot publish action to Marketplace using API. So, if you publish action to Marketplace, open release that published by this action, click edit release, and click update release button. If you are using a version branch, it is enough to do it only when the version branch changes or when the README is updated.\n\n## Contributes\n[\u003cimg src=\"https://gist.github.com/MeilCli/55d5d8274a7be00b4ff9f32b618a911e/raw/774ebc82e5fd1cde2e1d2dce77cd92b720861fea/metrics_contributors.svg\"\u003e](https://github.com/MeilCli/bump-release-action/graphs/contributors)\n\n### Could you want to contributes?\nsee [Contributing.md](./.github/CONTRIBUTING.md)\n\n## License\n[\u003cimg src=\"https://gist.github.com/MeilCli/55d5d8274a7be00b4ff9f32b618a911e/raw/774ebc82e5fd1cde2e1d2dce77cd92b720861fea/metrics_licenses.svg\"\u003e](LICENSE.txt)\n\n### Using\n- [actions/toolkit](https://github.com/actions/toolkit), published by [MIT License](https://github.com/actions/toolkit/blob/master/LICENSE.md)\n- [nodeca/js-yaml](https://github.com/nodeca/js-yaml), published by [MIT License](https://github.com/nodeca/js-yaml/blob/master/LICENSE)\n- [npm/node-semver](https://github.com/npm/node-semver), published by [ISC License](https://github.com/npm/node-semver/blob/master/LICENSE)\n","funding_links":["https://github.com/sponsors/MeilCli"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeilcli%2Fbump-release-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeilcli%2Fbump-release-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeilcli%2Fbump-release-action/lists"}