Skip to content

fix(ci): release-plz packages never-publish crates — add release=false#382

Merged
githubrobbi merged 1 commit into
mainfrom
fix/release-plz-never-publish-crates
Jun 9, 2026
Merged

fix(ci): release-plz packages never-publish crates — add release=false#382
githubrobbi merged 1 commit into
mainfrom
fix/release-plz-never-publish-crates

Conversation

@githubrobbi

Copy link
Copy Markdown
Collaborator

Problem

release-plz active run #79 (the merge of #380) failed:

cargo package failed: no matching package named `uffs-broker-protocol` found,
location searched: crates.io index, required by package `uffs-broker v0.5.120`

Root cause

The release-plz.toml comments claimed publish = false crates are auto-skipped by release-plz. That is wrong. publish = false only blocks the crates.io upload; release-plz still iterates the crate for version-bump/changelog/tag and runs its baseline cargo package step on it. That step fails for any crate carrying a versioned path-dep on an unpublished workspace member:

  • uffs-brokeruffs-broker-protocol
  • uffs-diaguffs-mft + uffs-polars

Fix

Add explicit release = false blocks for the never-publish crates release-plz was iterating (uffs-broker, uffs-broker-protocol, uffs-security, uffs-diag, uffs-bench) plus the previously-missed CI tool uffs-manifest-audit. This leaves exactly the two publish-ready crates (uffs-time, uffs-text — both dependency-free, package cleanly) in release-plz's scope, matching the 2026-05-14 publishability scrub.

Also corrected the two stale comment blocks that asserted the wrong auto-skip behavior (per rule: CI proved the contract wrong → update docs).

Verification

  • Confirmed locally: cargo package -p uffs-broker --allow-dirty --no-verify reproduces the exact failure (even with --no-verify — the error is at metadata-prep, not the verify build).
  • uffs-text / uffs-time have no internal uffs-* deps → package cleanly.
  • All 19 workspace members now accounted for (2 in-scope + 17 release = false).
  • lint-pre-push: ✅

Follow-up to #380.

release-plz active run #79 (commit 609f7e6) failed:

  cargo package failed: no matching package named uffs-broker-protocol

  found, location searched: crates.io index, required by uffs-broker

Root cause: the release-plz.toml comments claimed that publish=false

crates are auto-skipped by release-plz. That is wrong. publish=false

only blocks the crates.io UPLOAD; release-plz still iterates the crate

for version-bump/changelog/tag and runs its baseline cargo package step

on it. That step fails for any crate carrying a versioned path-dep on

an unpublished workspace member:

  - uffs-broker  -> uffs-broker-protocol

  - uffs-diag    -> uffs-mft + uffs-polars

Fix: add explicit release=false blocks for the never-publish crates

release-plz was iterating (uffs-broker, uffs-broker-protocol,

uffs-security, uffs-diag, uffs-bench) plus the previously-missed CI

tool uffs-manifest-audit. This leaves exactly the two publish-ready

crates (uffs-time, uffs-text) in release-plz's scope, matching the

2026-05-14 publishability scrub. Corrected the two stale comment blocks

that asserted the wrong auto-skip behavior.
@githubrobbi githubrobbi enabled auto-merge (squash) June 9, 2026 23:07
@githubrobbi githubrobbi merged commit 91cf8f8 into main Jun 9, 2026
19 checks passed
@githubrobbi githubrobbi deleted the fix/release-plz-never-publish-crates branch June 9, 2026 23:08
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