Skip to content

fix(release): flip release-plz to registry baseline; re-enable push trigger#389

Merged
githubrobbi merged 1 commit into
mainfrom
fix/release-plz-registry-baseline
Jun 11, 2026
Merged

fix(release): flip release-plz to registry baseline; re-enable push trigger#389
githubrobbi merged 1 commit into
mainfrom
fix/release-plz-registry-baseline

Conversation

@githubrobbi

Copy link
Copy Markdown
Collaborator

Why merges to main were producing no release activity

The release-plz push: branches: [main] trigger was commented out (workflow_dispatch-only) after the 2026-06-09 re-activation failed 4 consecutive runs — so #387/#388 triggered nothing.

Root cause (structural, reproduced locally)

In git_only mode release-plz hardcodes cargo package --allow-dirty --workspace in the latest-tag worktree, packaging all members regardless of release = false. Never-publish crates with versioned internal deps (uffs-brokeruffs-broker-protocol) can never resolve from the crates.io index; dropping the version fails with 'all dependencies must have a version requirement'. Both directions reproduced locally — git-only mode can never work on this workspace.

Fix

git_only = false — registry-baseline mode, the exact flip release-plz.toml's R4 comment block planned for post-R8. With uffs-time + uffs-text v0.5.120 live on crates.io, release-plz downloads the published .crate files as baseline; the broken packaging step is never invoked. Verified locally: release-plz update exits 0, downloads uffs-text 0.5.120 as baseline, proposes bumps only when published-crate files change.

Also re-enables the push trigger, rewrites the stale deferral notices as historical records, and adds the §8.1 deviation row + R4 dashboard correction.

Note

This fix: commit doesn't touch crates/uffs-time/uffs-text files, so merging it will exercise the release-pr job in its no-op path (clean green run, no release PR) — itself a useful validation.

…rigger

Root cause of 'PR merged, nothing happened': the release-plz push
trigger was commented out (workflow_dispatch-only) after the 2026-06-09
re-activation failed 4 consecutive runs, so the #387/#388 merges to
main triggered no release-pr run at all.

Those failures were structural, not transient: in git_only mode
release-plz hardcodes 'cargo package --allow-dirty --workspace' inside
the latest-tag worktree (verified with RUST_LOG=debug on 0.3.157),
packaging ALL members regardless of release=false config. Never-publish
crates with versioned internal deps (uffs-broker ->
uffs-broker-protocol) can never resolve from the crates.io index;
dropping the version instead fails with 'all dependencies must have a
version requirement' -- both directions reproduced locally. Git-only
mode can never work on this workspace, and the old 're-enable after the
internal crates are published' condition was unsatisfiable (they are
never-publish by design).

Fix: git_only = false (registry baseline) -- the flip release-plz.toml's
own R4 comment block planned for post-R8. With uffs-time + uffs-text
v0.5.120 live on crates.io (R8 bootstrap), release-plz downloads the
published .crate files as baseline and never invokes the worktree
packaging step. Verified locally: 'release-plz update' downloads
uffs-text 0.5.120, exits 0, and proposes bumps only when the published
crates' files change.

Also: re-enabled push: branches: [main]; rewrote the two stale deferral
notices in the workflow header as historical records with the
resolution trail; added the matching deviation row + R4 dashboard
correction in release-automation-plan.md. actionlint clean.
@githubrobbi githubrobbi enabled auto-merge (squash) June 11, 2026 00:56
@githubrobbi githubrobbi merged commit 65b3556 into main Jun 11, 2026
19 checks passed
@githubrobbi githubrobbi deleted the fix/release-plz-registry-baseline branch June 11, 2026 01:09
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