Skip to content

ci: turn off release-plz semver check (main) - #145

Closed
mrvollger wants to merge 1 commit into
mainfrom
ci/release-plz-no-semver-check-main
Closed

mrvollger wants to merge 1 commit into
mainfrom
ci/release-plz-no-semver-check-main

Conversation

@mrvollger

Copy link
Copy Markdown
Member

release-plz failed to open the release PR after #143 merged: cargo-semver-checks could not build rustdoc for fibertools-rs because a fresh registry resolution (no Cargo.lock) pulls both vergen-lib 0.1.6 and 9.1.0 into the build script.

The action installs cargo-semver-checks, so the check ran by default. The comment in release-plz.toml claimed it was off. This sets semver_check = false for real. Conventional-commit bumping is what we rely on anyway.

Main will hit the same failure on its next push; the twin PR there is linked below.

The release-plz action installs cargo-semver-checks, so the check ran by
default despite the comment saying it was off. It builds the crate from a
fresh registry resolution without Cargo.lock. Since vergen-lib 9.x was
published, that pulls two vergen-lib versions into the build script and
the rustdoc build fails, so no release PR is opened.
@mrvollger

Copy link
Copy Markdown
Member Author

Replaced by the dependency fix (146 / 147). The semver check was right to fail: the same resolution breaks cargo install.

@mrvollger mrvollger closed this Sep 18, 2026
@mrvollger
mrvollger deleted the ci/release-plz-no-semver-check-main branch September 18, 2026 14:44
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>
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