Skip to content

fix: sync Cargo.lock and restore crates.io publishing - #17

Open
loispostula wants to merge 2 commits into
masterfrom
fix-lockfile-0-6-0
Open

fix: sync Cargo.lock and restore crates.io publishing#17
loispostula wants to merge 2 commits into
masterfrom
fix-lockfile-0-6-0

Conversation

@loispostula

@loispostula loispostula commented Aug 26, 2026

Copy link
Copy Markdown
Member

Two fixes, both found while investigating why the 0.6.0 postsubmit did not publish publicly.

1. Cargo.lock was out of sync (urgent)

The 0.6.0 release bumped Cargo.toml but not Cargo.lock, which still recorded opd-parser 0.5.0.

fix-lock-files runs cargo update --workspace and fails on any resulting diff, so every PR opened against master fails that presubmit until this lands:

$ cargo update --workspace
Updating opd-parser v0.5.0 -> v0.6.0

2. crates.io publishing was silently disabled

opd-parser is public on crates.io with 0.1.0 through 0.5.0, none yanked. 0.6.0 went to fsl only, leaving the public crate a version behind.

The cause is publish = ["fsl"], which I added in #16 believing allow_public in the fslabs metadata was enough. It is not: publish is cargo's own allowlist, checked before any upload:

error: `opd-parser` cannot be published.
The registry `crates-io` is not listed in the `package.publish` value in Cargo.toml.

Verified with dry runs that both registries are now permitted:

cargo publish --dry-run --registry crates-io   # reaches Uploading
cargo publish --dry-run --registry fsl         # reaches Uploading

Note crates.io (with a dot) is not a legal cargo registry name and cannot be used in this list.

Ordering

This alone does not restore public publishing. fslabscli could not name the registry legally either — it built a registry called crates.io, which cargo rejects, and which also failed its own existence check. That is fslabscli#341.

Fix 1 here is independent and worth merging now regardless. Fix 2 takes effect once #341 ships and the prow image picks it up.

The release bump changed Cargo.toml only, leaving the lock at 0.5.0.
fix-lock-files runs 'cargo update --workspace' and fails on any diff, so
every PR opened against master would have failed that presubmit.

Signed-off-by: Loïs Postula <lois@postu.la>
@fslabs-bot

fslabs-bot Bot commented Aug 26, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from loispostula. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@fslabs-bot fslabs-bot Bot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Aug 26, 2026
publish = ["fsl"] is cargo's own allowlist, checked before any upload, so
it silently narrowed the crate to private-only: 0.6.0 went to fsl while
crates.io stayed at 0.5.0, where 0.1.0-0.5.0 are already public.

Needs fslabscli#341 to actually take effect; that side could not name the
registry legally either.

Signed-off-by: Loïs Postula <lois@postu.la>
@loispostula loispostula changed the title fix: sync Cargo.lock with the 0.6.0 version bump fix: sync Cargo.lock and restore crates.io publishing Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant