-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reporting rendering regression on PRs #15918
Comments
Really like having this. I think the
We could add some extra elements to the |
Do we have a target for the amount of examples we want to run? It would be nice to have more "roll-up examples" like
Maybe our game examples could be fleshed out to use more features, or some additional purpose-built examples could be made. edit: Totally missed the "testbed" stuff that was just linked here. Seems like a great idea. |
I'm trying "testbed" examples, see #15954 I would like to have one for 2d, one for 3d and one for UI, at least as a starting point. Once we have ones for 2d and UI we can remove the "breakout" example running in CI, once we have 3d we can remove "load_gltf" and "alien_cake_addict" to keep the execution time under control |
# Objective - Make progress for #15918 - Start with 2d ## Solution - Remove screenshots for existing examples as they're not deterministic - Create new "testbed" example category, with a 2d one to start ## Testing - Run `CI_TESTING_CONFIG=.github/example-run/testbed_2d.ron cargo run --example testbed_2d --features "bevy_ci_testing"` - ??? - Check the screenshots
# Objective - Progress towards #15918 - Add tests for 3d ## Solution - Add tests that cover lights, bloom, gltf and animation - Removed examples `contributors` and `load_gltf` as they don't contribute additional checks to CI ## Testing - `CI_TESTING_CONFIG=.github/example-run/testbed_3d.ron cargo run --example testbed_3d --features "bevy_ci_testing"`
# Objective - Checks screenshots on Windows - Progress towards #15918 ## Solution - Checks screenshots on Windows - Also disable the helmet gltf scene in windows ci as it doesn't work
@ickshonpe could you do an example for UI in the spirit of the 2d/3d testbeds? |
# Objective - Progress towards #15918 - Add test on UI ## Solution - Get a single screenshot from the UI testbed example - Remove older examples from runs in CI as they're covered by the testbed to reduce CI duration
# Objective - Rendering on Windows in CI is unreliable - Screenshots are compared but results are not usable - Related to #15918 ## Solution - Remove the check on windows screenshots
# Objective - Progress towards bevyengine#15918 - Add test on UI ## Solution - Get a single screenshot from the UI testbed example - Remove older examples from runs in CI as they're covered by the testbed to reduce CI duration
# Objective - Rendering on Windows in CI is unreliable - Screenshots are compared but results are not usable - Related to bevyengine#15918 ## Solution - Remove the check on windows screenshots
Good news! Since #13248 (and #15894, #15911 and #15914) CI is now checking screenshots taken during example runs on macOS and Linux for changes.
The list of examples that are executed can be found there: https://github.com/bevyengine/bevy/tree/main/.github/example-run. At the moment, only 2 examples take a screenshot:
breakout
andload_gltf
The macOS run is done on every push to a PR, in the merge queue, and on main. You can find an example run there: https://github.com/bevyengine/bevy/actions/runs/11339649537/job/31534799604
The Linux run is done in the merge queue and on main. You can find an example run there: https://github.com/bevyengine/bevy/actions/runs/11339392720/job/31534437159
As you may have noticed, they both fail: this is because the example
load_gltf
is a tiny bit time dependent for the light movement, so not fully deterministic. Failures are currently not reported or blocking for PRs.It is possible to make examples deterministic even when relying on time by applying the patches there, or using the
example-showcase
tool.You can see a list of run here: https://pixel-eagle.com/project/B04F67C0-C054-4A6F-92EC-F599FEC2FD1D
I have some improvements planned for the reporting, but now my question to you, dear contributors: which examples should be ran and checked for changes in CI?
This issue will be fixed by changing the list of screenshots compared to a fully deterministic one (either by selecting deterministic examples, or by enabling stable time with the patches), and changes being reported by a comment on PRs (not blocking merging yet)
The text was updated successfully, but these errors were encountered: