name: Bump Version
on:
workflow_dispatch:
inputs:
version_type:
description: "Version bump type (major, minor, patch)"
required: true
default: "patch"
type: choice
options:
- major
- minor
- patch
env:
CARGO_TERM_COLOR: always
jobs:
bump-version:
name: Bump Version
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
ref: main
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Rust Cache
uses: Swatinem/rust-cache@v2
- name: Configure Git
run: |
git config user.name "GitHub Actions"
git config user.email "github-actions[bot]@users.noreply.github.com"
- name: Create branch
run: |
branch_name="bump/version-$(date +%Y%m%d-%H%M%S)"
git checkout -b $branch_name
echo "BRANCH_NAME=$branch_name" >> $GITHUB_ENV
- name: Bump version
run: |
cargo install cargo-bump
cargo bump ${{ inputs.version_type }}
- name: Commit changes
run: |
git add .
git commit -m "chore: bump version (${{ inputs.version_type }})"
git push origin ${{ env.BRANCH_NAME }}
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
with:
title: "chore: bump version (${{ inputs.version_type }})"
body: |
This PR was automatically created by the Bump Version workflow.
- Bumps version (${{ inputs.version_type }})
branch: ${{ env.BRANCH_NAME }}
base: main