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 -7
View File
@@ -1,8 +1,11 @@
use bevy::asset::AssetMode::Processed;
#[cfg(feature = "debug_features")]
use bevy::camera_controller::free_camera::FreeCameraPlugin;
use bevy::image::{ImageAddressMode, ImagePlugin, ImageSamplerDescriptor};
use bevy::prelude::*;
#[cfg(feature = "debug_features")]
use bevy_egui::EguiPlugin;
#[cfg(feature = "debug_features")]
use bevy_inspector_egui::quick::WorldInspectorPlugin;
fn main() -> AppExit {
@@ -20,16 +23,22 @@ fn main() -> AppExit {
})
.set(AssetPlugin {
mode: Processed,
use_asset_processor_override: Some(cfg!(feature = "development")),
..default()
});
App::new()
.add_plugins(default_plugins)
let mut app = App::new();
app.add_plugins(default_plugins)
.add_plugins(avian3d::prelude::PhysicsPlugins::default())
.add_plugins(shinespark::GamePlugin)
.add_plugins(FreeCameraPlugin)
.add_plugins(EguiPlugin::default())
.add_plugins(WorldInspectorPlugin::default()) // adds default options and `InspectorEguiImpl`s
.insert_resource(Time::<Fixed>::from_hz(60.0))
.run()
.insert_resource(Time::<Fixed>::from_hz(60.0));
#[cfg(feature = "debug_features")]
app.add_plugins((
FreeCameraPlugin,
EguiPlugin::default(),
WorldInspectorPlugin::default(),
));
app.run()
}