chore(#520): drop migrated raylib/sokol examples + repoint CI to null - #522
Conversation
… (assembler is backend-agnostic) The pure-raylib and pure-sokol examples were migrated into their backend packages (labelle-raylib#7 + labelle-sokol#5, both merged, each with its own generate+build CI). The assembler no longer owns them, so remove the example dirs and drop the raylib generate+build CI step. The assembler now tests its own generate->build path against the backend-AGNOSTIC null backend (the null + plugin-controllers steps). - rm examples/raylib/ and examples/sokol/ - ci.yml: remove "Generate + build the raylib example" step; update the integration-job comment; keep the null + plugin-controllers agnostic steps - scrub stale prose refs to examples/raylib in flows-smoke README and asset-streaming-smoke sprite_marker.zig Closes #520. Claude-Session: https://claude.ai/code/session_01P7B7UzgrWEbBYLT3YBrAog https://claude.ai/code/session_01P7B7UzgrWEbBYLT3YBrAog
📝 WalkthroughWalkthroughCI workflow comments were expanded and the raylib example build step removed from the assembler's integration test job. Related documentation and comments referencing examples/raylib were updated, and the ChangesAssembler CI decoupling from raylib example
Estimated code review effort: 1 (Trivial) | ~4 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Code Review
This pull request removes the raylib and sokol example projects, including all of their associated assets, components, scenes, and scripts. Additionally, references to these deleted examples have been cleaned up in the documentation and comments of the remaining examples, such as flows-smoke and asset-streaming-smoke. There are no review comments, so I have no feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
@codex review |
|
Codex Review: Didn't find any major issues. More of your lovely PRs please. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/ci.yml (1)
189-217: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winStale "raylib example above" references after step removal.
Removing the "Generate + build the raylib example" step leaves two dangling comments that no longer point to anything: the asset-streaming-smoke step says "Same recipe as the raylib example above —", and the gamepad example step says "Gamepad input demo (raylib + imgui). Build-only, same recipe as the raylib example." Both now reference a step that was deleted from the file.
📝 Suggested comment updates
# Smoke test for the Asset Streaming RFC (labelle-assembler#55, - # labelle-engine#437). Same recipe as the raylib example above — - # build-only, not a headless runtime check. Runtime exercise + # labelle-engine#437). Build-only, not a headless runtime check. + # Runtime exercise # requires a display (raylib creates its GL context at init); # local `labelle run --timeout=Ns` covers the render path.# Gamepad input demo (raylib + imgui). Build-only, same recipe as the - # raylib example. Exercises the engine input-mixin gamepad forwarders + # asset-streaming-smoke example above. Exercises the engine input-mixin gamepad forwarders🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/ci.yml around lines 189 - 217, The two workflow comments still refer to a deleted “raylib example above” step, so update the wording in the asset-streaming-smoke and gamepad example sections of ci.yml to remove or replace those stale references. Keep the descriptions accurate by pointing to the current build-only pattern or another existing example, using the nearby step names as the anchor for the rewrite.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In @.github/workflows/ci.yml:
- Around line 189-217: The two workflow comments still refer to a deleted
“raylib example above” step, so update the wording in the asset-streaming-smoke
and gamepad example sections of ci.yml to remove or replace those stale
references. Keep the descriptions accurate by pointing to the current build-only
pattern or another existing example, using the nearby step names as the anchor
for the rewrite.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: b17f6c0e-a89c-4bd5-8987-dd4622c8d1f5
⛔ Files ignored due to path filters (4)
examples/raylib/assets/sprites.pngis excluded by!**/*.pngexamples/sokol/assets/jump.pngis excluded by!**/*.pngexamples/sokol/assets/sprites.pngis excluded by!**/*.pngexamples/sokol/labelle.lockis excluded by!**/*.lock
📒 Files selected for processing (42)
.github/workflows/ci.ymlexamples/asset-streaming-smoke/components/sprite_marker.zigexamples/flows-smoke/README.mdexamples/raylib/.gitignoreexamples/raylib/assets/sprites.jsonexamples/raylib/components/coin.zigexamples/raylib/components/player.zigexamples/raylib/components/score.zigexamples/raylib/components/velocity.zigexamples/raylib/components/wall.zigexamples/raylib/gizmos/coin.zonexamples/raylib/gizmos/player.zonexamples/raylib/hooksexamples/raylib/prefabs/coin.jsoncexamples/raylib/prefabs/player.jsoncexamples/raylib/prefabs/wall.jsoncexamples/raylib/project.labelleexamples/raylib/scenes/main.jsoncexamples/raylib/scenes/menu.jsoncexamples/raylib/scenes/obstacles.jsoncexamples/raylib/scripts/menu/menu_system.zigexamples/raylib/scripts/paused/unpause.zigexamples/raylib/scripts/playing+paused/camera_control.zigexamples/raylib/scripts/playing/01_player_movement.zigexamples/raylib/scripts/playing/02_pause_check.zigexamples/raylib/scripts/scene_switcher.zigexamples/sokol/.gitignoreexamples/sokol/assets/jump.jsonexamples/sokol/assets/sprites.jsonexamples/sokol/components/coin_marker.zigexamples/sokol/components/jumper_marker.zigexamples/sokol/components/player_marker.zigexamples/sokol/components/wall_marker.zigexamples/sokol/gizmos/coin_marker.zonexamples/sokol/gizmos/jumper_marker.zonexamples/sokol/gizmos/player_marker.zonexamples/sokol/gizmos/wall_marker.zonexamples/sokol/project.labelleexamples/sokol/scenes/main.jsoncexamples/sokol/scripts/quit_on_escape.zigexamples/sokol/scripts/running/01_camera_wasd.zigexamples/sokol/scripts/running/02_jump_animation.zig
💤 Files with no reviewable changes (39)
- examples/raylib/scenes/menu.jsonc
- examples/sokol/components/player_marker.zig
- examples/raylib/prefabs/coin.jsonc
- examples/raylib/prefabs/player.jsonc
- examples/sokol/scripts/quit_on_escape.zig
- examples/sokol/components/jumper_marker.zig
- examples/sokol/components/wall_marker.zig
- examples/raylib/scripts/playing/01_player_movement.zig
- examples/sokol/scripts/running/01_camera_wasd.zig
- examples/raylib/prefabs/wall.jsonc
- examples/raylib/gizmos/coin.zon
- examples/raylib/components/wall.zig
- examples/sokol/gizmos/wall_marker.zon
- examples/sokol/.gitignore
- examples/raylib/scripts/playing/02_pause_check.zig
- examples/sokol/assets/sprites.json
- examples/sokol/components/coin_marker.zig
- examples/sokol/gizmos/player_marker.zon
- examples/raylib/.gitignore
- examples/raylib/scenes/obstacles.jsonc
- examples/raylib/scripts/paused/unpause.zig
- examples/raylib/hooks
- examples/sokol/assets/jump.json
- examples/raylib/assets/sprites.json
- examples/sokol/gizmos/jumper_marker.zon
- examples/raylib/scripts/playing+paused/camera_control.zig
- examples/raylib/project.labelle
- examples/raylib/scenes/main.jsonc
- examples/raylib/components/player.zig
- examples/raylib/gizmos/player.zon
- examples/sokol/scenes/main.jsonc
- examples/raylib/scripts/scene_switcher.zig
- examples/raylib/components/coin.zig
- examples/raylib/components/score.zig
- examples/raylib/components/velocity.zig
- examples/sokol/project.labelle
- examples/raylib/scripts/menu/menu_system.zig
- examples/sokol/scripts/running/02_jump_animation.zig
- examples/sokol/gizmos/coin_marker.zon
What
The pure-
rayliband pure-sokolexamples were migrated into their backend packages — labelle-raylib#7 and labelle-sokol#5, both merged, each shipping its owngenerate+buildCI. The assembler is backend-agnostic, so it no longer needs to own backend-coupled examples in its own repo/CI.This PR:
examples/raylib/andexamples/sokol/(they now live in labelle-raylib / labelle-sokol)..github/workflows/ci.yml): removes the "Generate + build the raylib example" step. Coverage now lives in labelle-raylib's CI. Updates the integration-job comment to explain the assembler tests itsgenerate → buildpath against the backend-agnosticnullbackend.nullheadless example + step (the agnostic codegen fixture — the right thing for the assembler to smoke-test its own generate→build→run path) and theplugin-controllersstep (also.null). No sokol example build step existed in CI to remove (thebackends/sokol && zig build teststep tests the in-tree backend package, not the example — left intact).examples/raylib(flows-smoke README, asset-streaming-smokesprite_marker.zig).Remaining-backend-coupled examples (audit)
Agnostic — kept:
null—.nullbackend, headless codegen fixtureplugin-controllers—.nullbackendexternal-null— out-of-treenullfixturebackend_package (agnostic fetch/stage/codegen test)Backend-coupled — left in place, follow-ups (need a home before removal):
sokol_imgui—.sokol+ needs labelle-imguigamepad—.raylib+ imguigamepad-android—.sokol(Android)flows-smoke—.raylibasset-streaming-smoke—.raylibVerify
zig build✅ andzig build test --summary all✅ (1195 tests pass) — removing the example dirs does not touch the assembler's own build/tests.Refs / closes #520.
Claude-Session: https://claude.ai/code/session_01P7B7UzgrWEbBYLT3YBrAog
https://claude.ai/code/session_01P7B7UzgrWEbBYLT3YBrAog
Summary by CodeRabbit
Chores
Documentation