rust-lang/docs.rs

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

mockersf opened this issue · 15 comments

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?

@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

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

( 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 )

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

seems to be good, thanks!

@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.

For now I queued rebuilds for all of these.

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

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

@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?

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

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.