-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Support CI coverage of non-default features (i.e., bevy_asset/http). #23620
Copy link
Copy link
Open
Labels
A-Build-SystemRelated to build systems or continuous integrationRelated to build systems or continuous integrationC-FeatureA new feature, making something new possibleA new feature, making something new possibleD-ModestA "normal" level of difficulty; suitable for simple features or challenging fixesA "normal" level of difficulty; suitable for simple features or challenging fixesS-Needs-DesignThis issue requires design work to think about how it would best be accomplishedThis issue requires design work to think about how it would best be accomplishedX-UncontroversialThis work is generally agreed uponThis work is generally agreed upon
Metadata
Metadata
Assignees
Labels
A-Build-SystemRelated to build systems or continuous integrationRelated to build systems or continuous integrationC-FeatureA new feature, making something new possibleA new feature, making something new possibleD-ModestA "normal" level of difficulty; suitable for simple features or challenging fixesA "normal" level of difficulty; suitable for simple features or challenging fixesS-Needs-DesignThis issue requires design work to think about how it would best be accomplishedThis issue requires design work to think about how it would best be accomplishedX-UncontroversialThis work is generally agreed uponThis work is generally agreed upon
Some features we intentionally don't enable by default. This allows users to opt in to these more niche features, and only when they need them.
Unfortunately, this comes with a big problem: you can write all the tests you want for your new feature, and CI won't run those tests at all. This can result in functionality or tests being broken.
For a concrete example, on current main
bevy_asset/httpfails to compile, and yet CI happily says everything is fine, despite the fact we have tests for these. In a recent PR, this same issue came up where I was worried that changes tobevy_ecscould result in this change failing to compile, and silently rotting.We need a better solution here! Perhaps something like providing some specific configurations that we know are relevant to test for optional features.