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

sqlx-sqlite 0.7.2 didn't get picked up #2244

Closed
abonander opened this issue Oct 4, 2023 · 8 comments
Closed

sqlx-sqlite 0.7.2 didn't get picked up #2244

abonander opened this issue Oct 4, 2023 · 8 comments

Comments

@abonander
Copy link

abonander commented Oct 4, 2023

The docs for sqlx-sqlite 0.7.2 didn't get built, but it doesn't appear at all in the build queue or in the recent failures list: https://docs.rs/sqlx-sqlite/0.7.2

The strange part is, it appears that the rest of the crates got picked up even though I published them all at basically the same time: https://docs.rs/sqlx/0.7.2/sqlx/index.html

@Nemo157
Copy link
Member

Nemo157 commented Oct 4, 2023

Another instance of #797

In this case, I assume the issue will be the circular exact version dev-depencency on sqlx, the queue is too fast now and attempted to build sqlx-sqlite before sqlx was published. A rebuild should succeed (I don't have access right now to queue it up, hopefully @syphar can tomorrow).

We should maybe see if there's some way we could avoid this, there's the brute-force "delete [dev-dependencies] from Cargo.toml" but maybe there's something cleaner we could do (and I'm not sure how that interacts with --scrape-examples).

@syphar
Copy link
Member

syphar commented Oct 5, 2023

I queued the rebuild.

This is definitely an unexpected side-effect of parallel builds, perhaps we should extend our build-attemts system to help here. I remember that we don't always use it & retry? @Nemo157

@abonander
Copy link
Author

Is there anything we can do on our end to mitigate this in the future? The circular dependency is kinda necessary in order to have compile-tested examples using the facade in these lower APIs, though I suppose we could make a fake facade just for the examples.

@syphar
Copy link
Member

syphar commented Oct 5, 2023

for now the parallel builds are stopped until we solved another issue.

After that I believe that you won't be the only case, so docs.rs should have a way to handle these cases.

Otherwise, the solution would probably be to only release sqlx-sqlite when the needed version of sqlx is already on crates.io. ( assuming the error is what was decribed above)

@abonander
Copy link
Author

The problem is that sqlx of course depends on sqlx-sqlite since the latter is included in the facade of the former.

@syphar
Copy link
Member

syphar commented Oct 6, 2023

in any case, the (simplest) solution on docs.rs side stays the same: retry the build :)

@syphar
Copy link
Member

syphar commented Oct 6, 2023

( apart from fixing #797)

@syphar
Copy link
Member

syphar commented Oct 11, 2023

After having talked to @Nemo157 I'll close this issue, while creating #2262 for the proposed solution.

While the publisher of the crate could prevent this problem by first releasing the base-crate, and then the dependants, we believe this should be handled by docs.rs.
To be exact: we already have a thing that handles this: we are retrying failed builds.

But our current retry implementation has the edge-case that it retries too quickly if the queue is empty.

So we will add a delay to these: #2262

Also, #797 is still unsolved.

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

3 participants