From 8028fe070b62e026bfc20a99a44124c9c4d2becb Mon Sep 17 00:00:00 2001 From: Frando Date: Tue, 14 Apr 2026 10:02:17 +0200 Subject: [PATCH] chore: add release-plz workflow for automated releases Automates version bumping, changelog generation (using the existing cliff.toml), and crates.io publishing. On every push to main, release-plz creates or updates a release PR. Merging the PR creates a GitHub Release with tag and publishes to crates.io. Only the patchbay crate is released. Other workspace members (runner, vm, cli, server, utils) are excluded. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/release.yml | 24 ++++++++++++++++++++++++ release-plz.toml | 15 +++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 .github/workflows/release.yml create mode 100644 release-plz.toml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..6ab54e2 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,24 @@ +name: Release + +on: + push: + branches: [main] + +permissions: + contents: write + pull-requests: write + +jobs: + release-plz: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: 0 + + - uses: dtolnay/rust-toolchain@stable + + - uses: MarcoIeni/release-plz-action@v0.5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} diff --git a/release-plz.toml b/release-plz.toml new file mode 100644 index 0000000..62e18d0 --- /dev/null +++ b/release-plz.toml @@ -0,0 +1,15 @@ +[workspace] +# Only release the patchbay crate (not runner, vm, cli, server, utils). +release = false +publish = false + +[changelog] +# Use the existing cliff.toml for changelog generation. +config = "cliff.toml" + +[[package]] +name = "patchbay" +release = true +publish = true +# Tag format matching existing convention. +git_tag_name = "patchbay-v{{ version }}"