Add a CI job covering the CMake integration - #155
Open
kadircanyildirm-crypto wants to merge 1 commit into
Open
Conversation
ci.yml has no job that configures crates/spacewasm_c_api/CMakeLists.txt, so the add_subdirectory() integration its README documents is only exercised by hand. Add a fixture reaching the existing ctest.c and ctest_suite.c through CMake, plus a job that builds them natively and cross-compiles to aarch64.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #148. Opening this as a concrete shape for that proposal — happy to reshape or drop it.
Nothing in
ci.ymlconfigurescrates/spacewasm_c_api/CMakeLists.txt, so theadd_subdirectory()integration its README documents is only exercised by hand.tests/c_abi.rsalready runsexamples/ctest.candexamples/ctest_suite.c, but reaches them through cargo.This adds a fixture that reaches the same two programs through CMake, and a job that builds them natively and cross-compiles to aarch64. No new test code.
Measured on this branch (Debian bookworm, CMake 3.25.1, 12 cores):
add(20, 22) = 42/all 11 C ABI tests passedELF 64-bit LSB pie executable, ARM aarch64Both C programs embed their module bytes, so this is the only job that needs no WABT. Output goes under
target/, already gitignored, and the fixture adds no cargo target.The
include(GNUInstallDirs)omission fixed in #130 failed at configure time, so the native step would have caught it. The cross step pins what the README promises — dropSPACEWASM_TARGETand cargo still builds, but emits an x86-64 archive and the link fails withfile in wrong format.Kept aarch64 rather than i686 since
test-32bitalready covers 32-bit.Disclosure per
AI_POLICY.md: AI-assisted (Claude Code) — fixture, job and this description. I ran every command above; the numbers are from those runs.