Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-atomic publication #5979

Closed
tbrezot opened this issue Jan 23, 2023 · 1 comment
Closed

Non-atomic publication #5979

tbrezot opened this issue Jan 23, 2023 · 1 comment

Comments

@tbrezot
Copy link

tbrezot commented Jan 23, 2023

Current Behavior

During a cargo publish some error prevented the publication from running to completed. We ended up in an unstable state where our crate abe_policy was partially published: the v3.0.4 was visible from the crates.io interface but the README could not be displayed, and the crate could not be updated using cargo update.

Expected Behavior

Publishing should be atomic and no partial state should exist after failure.

Steps To Reproduce

No response

Environment

  • Browser:
  • OS:

Anything else?

theophile@debian:~/Documents/code/cover_crypt$ cargo update
    Updating crates.io index
error: failed to select a version for the requirement `abe_policy = "^3.0.4"`
candidate versions found which didn't match: 3.0.2, 3.0.1, 3.0.0, ...
location searched: crates.io index
required by package `cosmian_cover_crypt v9.0.0 (/home/theophile/Documents/code/cover_crypt)`

Run echo "[registry]" > ~/.cargo/credentials
    Updating crates.io index
   Packaging abe_policy v3.0.4 (/home/runner/work/abe_policy/abe_policy)
   Verifying abe_policy v3.0.4 (/home/runner/work/abe_policy/abe_policy)
 Downloading crates ...
  Downloaded log v0.4.17
  Downloaded serde v1.0.152
  Downloaded serde_json v1.0.91
  Downloaded wasm-bindgen-shared v0.2.83
  Downloaded wasm-bindgen-macro v0.2.83
  Downloaded thiserror-impl v1.0.38
  Downloaded wasm-bindgen-macro-support v0.2.83
  Downloaded wasm-bindgen-backend v0.2.83
  Downloaded wasm-bindgen v0.2.83
  Downloaded js-sys v0.3.60
  Downloaded itoa v1.0.5
  Downloaded cfg-if v1.0.0
  Downloaded once_cell v1.17.0
  Downloaded quote v1.0.23
  Downloaded ryu v1.0.12
  Downloaded serde_derive v1.0.152
  Downloaded syn v1.0.107
  Downloaded unicode-ident v1.0.6
  Downloaded proc-macro2 v1.0.50
  Downloaded thiserror v1.0.38
  Downloaded bumpalo v3.12.0
   Compiling proc-macro2 v1.0.50
   Compiling unicode-ident v1.0.6
   Compiling quote v1.0.23
   Compiling syn v1.0.107
   Compiling log v0.4.17
   Compiling wasm-bindgen-shared v0.2.83
   Compiling cfg-if v1.0.0
   Compiling once_cell v1.17.0
   Compiling bumpalo v3.12.0
   Compiling serde_derive v1.0.152
   Compiling serde v1.0.152
   Compiling wasm-bindgen-backend v0.2.83
   Compiling wasm-bindgen-macro-support v0.2.83
   Compiling wasm-bindgen v0.2.83
   Compiling serde_json v1.0.91
   Compiling wasm-bindgen-macro v0.2.83
   Compiling thiserror v1.0.38
   Compiling thiserror-impl v1.0.38
   Compiling ryu v1.0.12
   Compiling itoa v1.0.5
   Compiling js-sys v0.3.60
   Compiling abe_policy v3.0.4 (/home/runner/work/abe_policy/abe_policy/target/package/abe_policy-3.0.4)
    Finished dev [unoptimized + debuginfo] target(s) in 47.58s
   Uploading abe_policy v3.0.4 (/home/runner/work/abe_policy/abe_policy)
    Updating crates.io index
     Waiting on `abe_policy` to propagate to crates.io index (ctrl-c to wait asynchronously)
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
    Updating crates.io index
warning: timed out waiting for `abe_policy` to be in crates.io index

image

@Turbo87
Copy link
Member

Turbo87 commented Jan 23, 2023

see https://status.crates.io/incidents/scjr9prfz1pc

Publishing should be atomic and no partial state should exist after failure.

unfortunately that is not really possible due to technical reasons. usually the delay is within a couple of seconds though, so not a big deal.

@Turbo87 Turbo87 closed this as not planned Won't fix, can't repro, duplicate, stale Jan 23, 2023
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

No branches or pull requests

2 participants