several Bevy crates failed to build with yanked dependencies error but could not find which
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
- bevy_asset https://docs.rs/crate/bevy_asset/0.14.0/builds/1281416
- bevy_animation https://docs.rs/crate/bevy_animation/0.14.0/builds/1281432
- bevy_render https://docs.rs/crate/bevy_render/0.14.0/builds/1281428
- bevy_pbr https://docs.rs/crate/bevy_pbr/0.14.0/builds/1281433
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_windowBasically 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.
@mockersf do you have an example for a failed release because of this?
I want to check some details around our retry mechanism.
I think I found out what's happening
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.
I just deployed the fix https://github.com/rust-lang/docs.rs/pull/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.