-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Publishing a new crate to JFrog Artifactory fails #15028
Comments
I've been able to workaround this for the moment by downgrading to Rust/Cargo 1.82.0 and then doing the initial publish. Publishing new versions of this crate after doing this first downgraded publish should succeed. |
Thanks for providing the detail! Going to link to #13397 which seems pretty relevant to your proposed solution. |
It sounds like Artifactory is not following the specified sparse registry protocol. On non-existent crates, the error is supposed to be
I have not looked into what the behavior would be with the correct errors. The expectation would be that the "is published" check would gracefully handle a supported error code. We shouldn't need additional flags for this. |
this toolchain release also broke a lot of our repositories |
@earce-pulse Mind sharing more details? Are you also using Artifactory? |
Also, has anyone reached out to JFrog about the their implementation of sparse registries? |
I filed a ticket through their support site just after filing this ticket. I've gotten a confirmation that they received the ticket, but no further information at this time. |
we are using kellnr, we have a list of project modules that depend on each other and we run
in order of package dependencies. where we had a depending on b we ran this for b first, then a, but now b runs and doesn't push to our repository and when a tries it fails because the release never occured |
@earce-pulse could you help clarify your situation. You have Your publish order is
which sounds like it is in dependency order, all good. Why is |
Problem
We're using JFrog Artifactory 7.55.9. The default behavior for Artifactory, when a crate doesn't exist, is to return a
400 Bad Request
on attempts to pull information for that crate. Prior to Rust 1.83.0, this was fine, as the 400 would just cause the "wait for publish to become visible" to fail out early on the very first publish of a crate, though the crate is successfully published.However, with 1.83.0, presumably as a result of #14448, there's now a step that tries to verify that the crate is not already published. If the crate has been published at least once to Artifactory, this check passes. If it hasn't, then Artifactory returns a
400 Bad Request
error that results in an unhandled error, preventing the publish from even being attempted.I understand that this behavior was added intentionally, but it now results in breakage of a previously working process with a major vendor.
Steps
400 Bad Request
error.Possible Solution(s)
Add a mechanism to allow skipping the "verify unpublished" check, or allow it to be tolerant of an error that doesn't explicitly indicate that the crate already exists.
Notes
No response
Version
The text was updated successfully, but these errors were encountered: