mirror of
https://github.com/RunLit/Bambu-Run.git
synced 2026-06-22 14:09:04 +01:00
57 lines
1.8 KiB
YAML
57 lines
1.8 KiB
YAML
name: Bump Patch Version on Merge to Main
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
bump-version:
|
|
runs-on: ubuntu-latest
|
|
# Skip if this push was itself the version bump commit (prevents infinite loop)
|
|
if: "!contains(github.event.head_commit.message, '[skip ci]')"
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
# Need full git history and ability to push
|
|
fetch-depth: 0
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Bump patch version in pyproject.toml
|
|
id: bump
|
|
run: |
|
|
# Read current version
|
|
CURRENT=$(grep '^version = ' pyproject.toml | sed 's/version = "\(.*\)"/\1/')
|
|
echo "Current version: $CURRENT"
|
|
|
|
# Split into parts and increment patch
|
|
MAJOR=$(echo $CURRENT | cut -d. -f1)
|
|
MINOR=$(echo $CURRENT | cut -d. -f2)
|
|
PATCH=$(echo $CURRENT | cut -d. -f3)
|
|
NEW_PATCH=$((PATCH + 1))
|
|
NEW_VERSION="$MAJOR.$MINOR.$NEW_PATCH"
|
|
echo "New version: $NEW_VERSION"
|
|
|
|
# Write back to pyproject.toml
|
|
sed -i "s/^version = \"$CURRENT\"/version = \"$NEW_VERSION\"/" pyproject.toml
|
|
|
|
# Export for later steps
|
|
echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT
|
|
|
|
- name: Commit and push bumped version
|
|
run: |
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
git add pyproject.toml
|
|
git commit -m "chore: bump version to ${{ steps.bump.outputs.new_version }} [skip ci]"
|
|
git push
|
|
- name: Tag the release
|
|
run: |
|
|
git tag "v${{ steps.bump.outputs.new_version }}"
|
|
git push origin "v${{ steps.bump.outputs.new_version }}"
|