bevyengine / bevyengine/bevy

Support CI coverage of non-default features (i.e., `bevy_asset/http`).

Open
#23,620 1 comment 0 reactions 0 assignees View on GitHub
A-Build-System C-Feature D-Modest S-Needs-Design X-Uncontroversial
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

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/http` fails to compile, and yet CI happily says everything is fine, despite the fact we have tests for these. In a [recent PR](https://github.com/bevyengine/bevy/pull/22520#discussion_r3025672792), this same issue came up where I was worried that changes to `bevy_ecs` could 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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.