Deny internal exectuion order ambiguities in CI #7386
Labels
A-Build-System
Related to build systems or continuous integration
A-ECS
Entities, components, systems, and events
C-Testing
A change that impacts how we test Bevy or how users test their apps
S-Blocked
This cannot move forward until something else changes
What problem does this solve or what need does it fill?
As discussed in #7383, internal execution order ambiguities are genuinely bad.
They often represent subtle bugs, break determinism for end users, and result in noisy logs for users.
What solution would you like?
enum
from Improvements to execution order ambiguity reporting #4299 to create configurable levels of system execution order ambiguity reporting / strictness first.To actually get this to pass, we need more powerful tools to resolve or ignore ambiguities between plugins that aren't aware of them.
Once #7267 is merged, we should have those.
Then, add some form of
IntegrationPlugin
toDefaultPlugins
that uses system set configuration + feature flags to resolve or ignore cross-plugin ambiguities.What alternative(s) have you considered?
Do this manually before every release 🥲
We could just ignore ambiguities on the offending systems completely, but that's definitely incorrect for important systems like UI layout and animation.
The text was updated successfully, but these errors were encountered: