Closed
Description
With good CI, a lot of bugs and regression can be caught and also things like bad formatting
- Check formatting in code by
cargo fmt
- Unit tests(are in CI, but seems that are missing in code)
- Integration tests
- Build Bevy also on Windows and MacOS (add build windows block to github actions ci #129)
- Cache for faster building (https://github.com/godotengine/godot/blob/f568cede8d8a4a3f7051afd2ae8502deb09bc157/.github/workflows/linux_builds.yml#L30-L40) (Separate CI jobs, add job caching #357)
- Benchmarks and performance regression testing
- Testing project for regression(panics etc.) - project should use as much as possible elements(This is not available now, since there isn't exists for now any tool that provide software rendering of Vulkan apps)
- Sanitizers support(ASAN, LSAN, TSAN, MSAN) - Bevy use some amount of unsafe code which may be invalid, but also some valid code may cause some leaks or bugs - LeakSanitizer, ThreadSanitizer, AddressSanitizer and MemorySanitizer support rust-lang/rust#38699
I think, that same project from above should be running but this time with sanitizers support.