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

several Bevy crates failed to build with yanked dependencies error but could not find which #2556

Closed
mockersf opened this issue Jul 16, 2024 · 15 comments

Comments

@mockersf
Copy link
Contributor

Crate name

bevy_state

Build failure link

https://docs.rs/crate/bevy_state/0.14.0/builds/1281410

Additional details

This is complaining about a yanked dependency, but we could not find which

Also happened to

Would it be possible to have more info about which dependency was yanked?

@BD103
Copy link

BD103 commented Jul 16, 2024

@TrialDragon compiled a list of affected crates on Discord:

bevy_animation
bevy_asset
bevy_audio
bevy_core_pipeline
bevy_pbr
bevy_render
bevy_scene
bevy_state
bevy_window
bevy_gltf; everything post 0.13.2 fails
bevy_gizmos; 0.14.0-rc.4 fails, but 0.14.0 doesn't
bevy_text;  0.14.0-rc.4 fails, but 0.14.0 doesn't
bevy_ui;  0.14.0-rc.4 fails, but 0.14.0 doesn't
bevy_sprite; 0.14.0-rc.4 fails, but 0.14.0 doesn't
bevy_math; 0.14.0-rc.4 fails, but 0.14.0 doesn't

@syphar
Copy link
Member

syphar commented Jul 17, 2024

just a rebuild for bevy_state seem to have been successful, so I queued rebuilds for the other mentioned releases.

@syphar
Copy link
Member

syphar commented Jul 17, 2024

( I'll need to figure out why the error was incomplete in the database, the feature to actually see manifest / cargo errors is relatively recent )

@syphar
Copy link
Member

syphar commented Jul 17, 2024

@mockersf can you confirm that the docs are fine now? Should we rebuild more releases?

@mockersf
Copy link
Contributor Author

seems to be good, thanks!

@janhohenheim
Copy link

janhohenheim commented Aug 3, 2024

@syphar looks like the exact same thing is happening with 0.14.1 again.
Quoting @TrialDragon:

Crates having issues with their docs this time:

bevy_animation
bevy_asset
bevy_audio
bevy_core_pipeline
bevy_gizmos
bevy_gltf
bevy_pbr
bevy_render
bevy_scene
bevy_sprite
bevy_state
bevy_text
bevy_ui
bevy_window

Basically the same ones as before, minus bevy_math (but that was one of the odd ones, so not surprising).
The error they're all having is just as unhelpful / incomplete as before it seems.

@syphar
Copy link
Member

syphar commented Aug 6, 2024

For now I queued rebuilds for all of these.

( making the error visible is on my todo list, also adding more loggin)

@janhohenheim
Copy link

@syphar all the reported docs work now, thanks :)

@mockersf
Copy link
Contributor Author

mockersf commented Sep 7, 2024

@syphar we published a new patch version of Bevy yesterday, and again some crates didn't build with the same error about a yanked dependency. https://docs.rs/crate/bevy_gltf/0.14.2/builds/1350490 for an example error

Here is the list:

bevy_animation
bevy_asset
bevy_audio
bevy_core_pipeline
bevy_gizmos
bevy_gltf
bevy_math
bevy_pbr
bevy_render
bevy_scene
bevy_sprite
bevy_state
bevy_text
bevy_window

Anything we could do to help investigate?

@mockersf
Copy link
Contributor Author

mockersf commented Sep 7, 2024

with some quick code reading, it seems the "yanked" flag comes from https://github.com/rust-lang/rustwide/blob/0ff427b7d1ed032734254e73c0dbedde785d4782/src/prepare.rs#L119-L120
so, just matching the error "failed to select a version for the requirement"

Is there a cache somewhere of published crates that isn't up to date? As we publish crates that depends on each other, that could explain. And with the "recent" (and awesome!) speedup of docs.rs to build the queue that would explain why we're seeing this now

@syphar
Copy link
Member

syphar commented Sep 9, 2024

So, we don't have a cache here.

Generally our retry mechanism should help with these kind of errors, by just retrying at another later time.
Currently I'm not sure if the retry mechanism is not working for this error, or if we have to add a delay between the tries.

@syphar
Copy link
Member

syphar commented Sep 14, 2024

@mockersf do you have an example for a failed release because of this?

I want to check some details around our retry mechanism.

@syphar
Copy link
Member

syphar commented Sep 14, 2024

I think I found out what's happening

@syphar syphar reopened this Sep 14, 2024
@syphar
Copy link
Member

syphar commented Sep 14, 2024

this is the second regression coming from #2467

For normal build errors (= the build was executed, but failed) we never retried.
For other errors before build (like when evalutating the cargo metadata) we did retry because an error was returned.

This logic broke with the PR above, which is why we don't re-attempt builds right now.

I'll work on a fix, and then next release it should be fine again.

@syphar
Copy link
Member

syphar commented Sep 21, 2024

I just deployed the fix #2605 .

When you do your next bulk release, everything should start working again as it did for a long time,

feel free to reopen this issue / ping me if not, then I'll recheck.

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

4 participants