Separate station/unit tests and disable lavaland procgen and ruin spawning in tests (for now). #28106
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What Does This PR Do
This PR changes our CI by separating game tests (which test in-game logic or load their own test map data) and station tests (which each run a set of tests on a given station map). It creates a compile-flag define that allows builds to specify override TOML configs to surgically replace config values for test runs, and uses it to disable lavaland and space/lava ruins for all tests. Lava and space ruins will continue to be tested with the "Compile All Maps" test, but until I can think of a good methodical way to test their placement, they will not be placed during any part of the test suite.
It also tightens up the CI workflow labels so that this:
Becomes the more readable this:
Why It's Good For The Game
Flakiness due to procgen and ruin placement in tests is awful. We already do things like fix the RNG seed during tests, preventing completely arbitrary content from randomly spawning across z-levels seems like a reasonable step.
Testing
See CI.
Declaration
Changelog
NPFC