ci: add workflow to create a PR for crate bumps

Changelog-None
This commit is contained in:
daywalker90
2025-11-13 10:52:22 +10:30
committed by Rusty Russell
parent ff2b77a57f
commit 838909634e

68
.github/workflows/crate-bump.yml vendored Normal file
View File

@@ -0,0 +1,68 @@
name: Bump Rust 🦀 crate version
on:
workflow_dispatch:
inputs:
dist-location:
description: 'Distribution location'
type: choice
options:
- cln-plugin
- cln-rpc
- cln-grpc
default: 'cln-plugin'
required: true
jobs:
bump:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup protoc
uses: arduino/setup-protoc@v3
- name: Setup rust
uses: dtolnay/rust-toolchain@1.77
- name: Install cargo binstall
uses: cargo-bins/cargo-binstall@main
- name: Install cargo-release and cargo-semver-checks
run: |
cargo binstall cargo-release --version 0.25.10
cargo binstall cargo-semver-checks --version 0.36.0
- name: Determine version
id: determine-version
run: |
if cargo semver-checks -p ${{ github.event.inputs.dist-location }} --release-type patch; then
echo "bump=patch" >> $GITHUB_OUTPUT
elif cargo semver-checks -p ${{ github.event.inputs.dist-location }} --release-type minor; then
echo "bump=minor" >> $GITHUB_OUTPUT
elif cargo semver-checks -p ${{ github.event.inputs.dist-location }} --release-type major; then
echo "bump=minor" >> $GITHUB_OUTPUT
else
echo "bump=unknown" >> $GITHUB_OUTPUT
exit 1
fi
- name: Bump version
run: |
cargo release version -p ${{ github.event.inputs.dist-location }} ${{ steps.determine-version.outputs.bump }} --execute --no-confirm
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "${{ github.event.inputs.dist-location }}: Bump the ${{ steps.determine-version.outputs.bump }} version"
title: "${{ github.event.inputs.dist-location }}: Bump the ${{ steps.determine-version.outputs.bump }} version"
body: |
Triggered manually with option: ${{ github.event.inputs.dist-location }}
Version bump determined by `cargo semver-checks`
branch: "${{ github.event.inputs.dist-location }}-version-bump"
base: master
labels: version-bump, automated
delete-branch: true