Build and web

Native checks feed the public WebAssembly lab.

The pipeline keeps simulator correctness, browser artifacts, and static Pages publishing as separate gates.

Local commands

make

Build the native raylib app.

make test

Run C test binaries for simulation, app, and renderer helpers.

make web

Compile the browser target with Emscripten.

make dist-wasm

Package the generated HTML, JS, and WASM artifact.

Artifact checks

tools/check_wasm_artifacts.py confirms the generated solar-system-simulator.html, .js, and .wasm files exist and contain expected markers. The WebAssembly binary is checked for valid magic bytes.

web/shell.html is the Emscripten shell that gives the browser runtime a stable status surface.

GitHub workflows

.github/workflows/build.yml builds native and WebAssembly lanes. .github/workflows/deploy-pages.yml runs after a successful Build workflow on main, normalizes downloaded artifact paths, builds Astro, and publishes to GitHub Pages.