Skip to content

Fail fast on unrunnable Unix host builds#35

Draft
CoreyRDean wants to merge 1 commit into
developfrom
fix/unix-build-contract
Draft

Fail fast on unrunnable Unix host builds#35
CoreyRDean wants to merge 1 commit into
developfrom
fix/unix-build-contract

Conversation

@CoreyRDean
Copy link
Copy Markdown
Collaborator

Non-technical summary

  • Stops the Unix helper scripts from pretending Linux can produce a runnable local BlitzForge toolchain today.
  • Fails early with a clear explanation instead of leaving contributors with a blitzcc binary that cannot start because its companion libraries were never built.
  • Keeps the existing macOS alpha workflow intact while making the unsupported Linux path explicit.

Technical summary

  • refactor compile.sh into sourceable helpers plus a main() guard so script-level contract tests can exercise host detection without accidentally launching a build
  • add a Linux host guard in compile.sh that rejects unrunnable Unix builds before the CMake step
  • add a test.sh preflight check for the required runtime/linker companion libraries so missing host artifacts fail with an explicit message
  • add scripts/test_compile_contract.sh to lock the supported-host contract with Darwin success and Linux failure cases
  • breaking changes: ./compile.sh now exits early on Linux instead of producing a bin/blitzcc that cannot load runtime/linker at startup

Additional notes

  • Trade-off: this chooses honest failure over preserving a misleading partial build artifact.
  • Intentionally deferred: shared README/CI wording updates are left for the already-open packaging PRs that touch those same surfaces, to avoid overlapping work in this run.
  • Remaining gap: runnable Unix host builds still exist only on macOS until Linux runtime/linker support is implemented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant