Add production build pipeline (#46)
CI / build-and-test (push) Successful in 1m8s
CI / production-build (push) Successful in 4m39s

## Summary
- split development dynamic linking from production builds
- add headless processed-asset generation
- add a separate production CI cache and static Bevy/Rust linkage verification
- keep custom debug features enabled for production builds behind a feature gate

Reviewed-on: #46
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
This commit was merged in pull request #46.
This commit is contained in:
2026-09-19 17:04:18 +00:00
committed by EIREXE
parent 804e5e37e0
commit 0dc5d0392d
8 changed files with 152 additions and 12 deletions
+16 -1
View File
@@ -155,11 +155,26 @@ impl Plugin for GamePlugin {
}
}
/// Registers only the custom asset processors used by CI and release builds.
/// The processing binary adds this plugin without starting the game.
pub struct AssetProcessingPlugin;
impl Plugin for AssetProcessingPlugin {
fn build(&self, app: &mut App) {
app.add_plugins((
scripting::importer::FighterScriptImportPlugin,
fighter::baked_animation::BakedAnimationAssetProcessingPlugin,
));
}
}
fn wait_for_asset_processor(
processor: Option<Res<AssetProcessor>>,
mut next_state: ResMut<NextState<AppState>>,
) {
if processor.is_none_or(|processor| block_on(processor.get_state()) == ProcessorState::Finished)
if !cfg!(feature = "development")
|| processor
.is_none_or(|processor| block_on(processor.get_state()) == ProcessorState::Finished)
{
next_state.set(AppState::LoadCommonAssets);
}