Skip to content

ci(actions): add clean-clone CI coverage - #144

Merged
macmixing merged 7 commits into
mainfrom
codex/issue-130-clean-ci
Aug 1, 2026
Merged

ci(actions): add clean-clone CI coverage#144
macmixing merged 7 commits into
mainfrom
codex/issue-130-clean-ci

Conversation

@macmixing

@macmixing macmixing commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

What changed

  • add clean-clone GitHub Actions validation for ubuntu-24.04, macos-15, and windows-2025
  • configure every job through the checked-in CMake presets and repository vcpkg toolchain, with vcpkg pinned to the manifest baseline
  • cache vcpkg downloads and ABI-keyed binary packages so normal pull-request validation can reuse dependency work
  • build all four supported CLI targets on Linux and macOS
  • run the normal CTest suite and scripts/verify-spec-files.sh
  • explicitly report the model-dependent embedding smoke test as skipped when model assets are unavailable
  • build and test the existing platform-neutral C++ block-library surface on Windows without adding Windows production implementations
  • replace the macOS 26-only floating-point std::from_chars path with the locale-independent binary64 value produced by the existing JSON parse
  • add only the missing standard-library includes and clean-run test isolation required by the CI runners
  • disable unused OpenCV GUI defaults while retaining the modules required by SVP

Platform scope

Linux and macOS run the complete CLI build and CTest suite. Windows runs only the codebase's existing platform-neutral C++ test surface so Windows contributors can detect portable-library regressions without turning this CI change into a Windows production port.

The workflow downloads no model weights, requires no private fixtures, and adds no arbitrary job timeout.

Verification

Final passing run: https://github.com/semanticvideo/svp/actions/runs/30682019102

  • build and test (macos-15) — passed in 5m6s
  • build and test (ubuntu-24.04) — passed in 1h12m32s
  • portable C++ (windows-2025) — passed in 2m21s
  • CTest completed successfully on every configured test surface
  • scripts/verify-spec-files.sh completed successfully
  • the model-dependent embedding smoke test visibly skipped when assets were unavailable
  • focused canonical-number verification preserved the existing canonical digest and behavior

Closes #130

- run macOS 15 and Ubuntu builds through pinned vcpkg presets
- preserve portable model number parsing on older libc++
- isolate model-free validation from local assets
- resolve runner temp paths only inside workflow steps
- keep the vcpkg binary cache available during configuration
- fetch the pinned vcpkg tree needed by manifest versioning
- use the pinned Node 24 cache action
- add stable Linux, macOS, and Windows checks
- limit each platform to its supported build surface
- reduce OpenCV dependencies to required modules
- let CMake choose the runner's available Visual Studio generator
- retain the explicit x64 Debug configuration
- bound compilation concurrency for large translation units
- persist dependency caches before project compilation
@macmixing macmixing changed the title ci(actions): add clean-clone validation ci(actions): add clean-clone CI coverage Aug 1, 2026
@macmixing
macmixing marked this pull request as ready for review August 1, 2026 18:57
@macmixing
macmixing merged commit 1881392 into main Aug 1, 2026
3 checks passed
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.

Add clean-clone CI coverage

1 participant