Repository navigation
Add github actions #33
Description
Activity
@leftibot add automated testing following the pattern set in ChaiScript/ChaiScript.
- clean, simple
- MSVC/Windows, AppleClang/MacOS, GCC/Linux
- Add a reasonable combination of ASAN/UBSan targets with Release/Debug.
- added a commit that references this issue
on Apr 16, 2026 @leftibot the build is failing due to outdated cmake code. Investigate, fix, and open a new PR
- added a commit that references this issue
on Apr 17, 2026 Investigated the red CI on master from #34. The "outdated CMake code" has two distinct symptoms, both rooted in the ChaiScript 6.1.0 subproject that gets pulled in via
FetchContent:1. macOS Configure fails — runners now ship CMake 4.x, which removes support for
cmake_minimum_required(VERSION < 3.5). The fetched ChaiScript 6.1.0CMakeLists.txt:1still saysVERSION 2.8, so configure aborts:CMake Error at build/_deps/chaiscript-src/CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.5 has been removed from CMake.2. Windows MSVC Build fails — ChaiScript 6.1.0's
src/main.cpp(thechaiREPL) has a missing<chrono>include and no longer compiles on current MSVC ('high_resolution_clock': is not a class or namespace name). That target is declared unconditionally in the subproject, so we were building it even thoughchaiscript_extrasonly needs ChaiScript's headers.Fix (#35): in
cmake/chaiscript.cmake, beforeadd_subdirectory, setCMAKE_POLICY_VERSION_MINIMUM 3.5to unblock the stalecmake_minimum_required, and passEXCLUDE_FROM_ALLso the upstreamchaiREPL (and samples/modules) stay out of the default build. Also bumped our owncmake_minimum_requiredto 3.16 and opted intoCMP0169 OLDto silence theFetchContent_Populatedeprecation on CMake 3.30+.Verified locally (CMake 3.31) — Debug and Release both configure, build, and pass tests; the
chaibinary is no longer built.Not fixed here — the Linux ASAN/UBSAN job still fails on
string_methods_testwith a heap-use-after-free inchaiscript::extras::string_methods::splitwhen accessed via a chained index expression ("...".split(",")[1]). That's a runtime bug in the extras+ChaiScript 6.1.0 interaction, not a CMake one. Worth tracking as a separate issue — do you want me to open it?PR: #35
We need automated testing of the ChaiScript_Extras repository