Skip to content

ci: support patch releases from release/** branches - #143

Merged
mrvollger merged 1 commit into
release/v0.13from
ci/release-branch-workflows
Sep 18, 2026
Merged

mrvollger merged 1 commit into
release/v0.13from
ci/release-branch-workflows

Conversation

@mrvollger

Copy link
Copy Markdown
Member

Cherry-pick of the CI commit from the closed #137. Without it nothing releases from this branch: the release-plz workflow here still triggers only on pushes to main, so merging #142 opened no 0.13.1 release PR.

  • CI runs on PRs that target release/**.
  • release-plz triggers on pushes to release/** and on workflow_dispatch. Push events use the pushed branch's workflow file, so this copy only acts on this branch.
  • cargo-dist is dispatched on the released tag instead of main, so binaries build from the patched 0.13.x source.

Merging this is itself a push to release/v0.13, so release-plz will run and open the chore: release PR for 0.13.1 with the #142 fix.

CI now runs on PRs that target release/** branches. The release-plz
workflow copy on this branch triggers on pushes to release/**, so a
merged fix opens a patch release PR against the branch, the same flow
main has. cargo-dist is dispatched on the released tag instead of main,
so binaries build from the patched 0.13.x source.
@mrvollger
mrvollger merged commit a293c96 into release/v0.13 Sep 18, 2026
9 checks passed
mrvollger added a commit that referenced this pull request Sep 18, 2026
release-plz failed to open the 0.13.1 release PR after #143 merged. The
`release-plz-pr` job died inside cargo-semver-checks:

```
error: failed to build rustdoc for crate fibertools-rs v0.13.0
note: there are multiple different versions of crate `vergen_lib` in the dependency graph
```

## Cause

`vergen-git2` 1.0.7 declares `vergen ^9` and `vergen-lib ^0.1`. The
newly published `vergen` 9.1.0 depends on `vergen-lib` 9.1.0, so a fresh
resolution picks it and the build script sees two `vergen-lib` versions.
Our `Cargo.lock` pins `vergen` 9.0.6, which is why local and CI builds
still pass. Anything that resolves fresh breaks: cargo-semver-checks in
release-plz, and `cargo install fibertools-rs` without `--locked`.

Reproduced with a scratch crate holding only our `[build-dependencies]`
and `build.rs`.

## Fix

`vergen-git2` 9.1.0 is the matching upstream release. The builder API is
unchanged, so `build.rs` is untouched. Not 10.x, which needs rustc 1.96.

The lockfile floor moves from rustc 1.85 to 1.91 (`cargo-platform`
0.3.3). Stable is 1.98.

The `release-plz.toml` comment said the semver check was off. It is on,
the action installs cargo-semver-checks, and it is what caught this. The
comment now says so. Replaces the config toggle in #144 and #145.

## Check

Full release build passes and `ft --version` still prints the git
commit.

Co-authored-by: Mitchell R. Vollger <mvollger@gmail.com>
mrvollger pushed a commit that referenced this pull request Sep 18, 2026
## 🤖 New release

* `fibertools-rs`: 0.13.0 -> 0.13.1

<details><summary><i><b>Changelog</b></i></summary><p>

<blockquote>

##
[0.13.1](v0.13.0...v0.13.1)
- 2026-09-18

### Fixed

- pin hts-sys 2.2.0 and turn off the release-plz semver check
([#148](#148))
- bump vergen-git2 to 9.1 so a fresh resolution builds again
([#146](#146))
- ft call-peaks --haps fills the H1/H2 columns
([#142](#142))

### Other

- put semver_check = false in the [workspace] table
([#150](#150))
- support patch releases from release/** branches
([#143](#143))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant