ci.yml: two new jobs.
- v3-c-tests builds tester_v3_c (security regressions) and
tester_v3_c_v1port (18 ported v1 unit tests) with the default
system cc (gcc on ubuntu-latest) and runs both.
- v3-c-tests-sanitizers rebuilds the same suites under clang with
-fsanitize=address,undefined and ASAN_OPTIONS=halt_on_error=1 plus
leak detection so memory-safety regressions break CI.
c-cpp.yml: add a v3_c_tests step to build-linux so the legacy gcc
workflow also exercises the v3 C parser end-to-end.
Both invoke the parser via parse_auto with TINYGLTF3_ENABLE_FS so the
external-file paths (and the new path-traversal/file-size guards)
are exercised end-to-end.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Convert manual g++/clang++ builds to CMake for consistency with
Windows builds:
- Linux x64 (GCC)
- Linux ARM64 (GCC)
- macOS ARM64 Apple Silicon (Clang)
All native builds now use:
- cmake -B build -DTINYGLTF_BUILD_LOADER_EXAMPLE=ON
- cmake --build build
- ctest --test-dir build --output-on-failure
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Install Clang 21 from LLVM apt repository
- Use CMake with clang-21/clang++-21 compilers
- Run tests with ctest
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Convert RapidJSON backend job from manual g++ builds to CMake,
enabling ctest for running tests.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Run ctest after build for:
- Windows x64 MSVC
- Windows x86 MSVC
- Windows MinGW MSYS2
- Linux Header-Only Mode
Cross-compile builds (Windows ARM64, Linux→Windows MinGW) are excluded
since tests cannot run on the host.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
macOS Intel runners are being deprecated. Keep only the ARM64
Apple Silicon job for macOS coverage.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Change macos-13 to macos-15-large for Intel x64 (macos-13 is retired)
- Remove Windows MSVC unit tests (they have path-related issues and
the existing c-cpp.yml workflow doesn't run tests on Windows either)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The `cl` compiler was not in PATH because the Visual Studio developer
environment needs to be set up before calling MSVC tools directly.
Added `ilammy/msvc-dev-cmd@v1` action to configure the environment.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>