ci: add sccache ninja canary#509
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a default-off CI build helper to experiment with Ninja and sccache in one EVM x86 ctest canary job while keeping the broader CI path unchanged by default.
Changes:
- Adds
.ci/cmake_ci_build.shto centralize CMake configure/build invocation with optional Ninja and sccache. - Routes
.ci/run_test_suite.sh’s main configure/build loop through the helper and adds dry-run support. - Enables Ninja+sccache and prints sccache stats for the selected EVM canary workflow job.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
.github/workflows/dtvm_evm_test_x86.yml |
Enables and reports Ninja/sccache behavior for one EVM x86 canary job. |
.ci/run_test_suite.sh |
Delegates the main build loop to the new helper and adds dry-run skips. |
.ci/cmake_ci_build.sh |
New CMake configure/build wrapper with optional Ninja, sccache, and job-count toggles. |
Comments suppressed due to low confidence (1)
.github/workflows/dtvm_evm_test_x86.yml:84
- This logs
SCCACHE_BASEDIRS, which is not a recognized sccache setting; after correcting the configuration toSCCACHE_BASEDIR, this line should log the singular variable so the canary output reflects the setting sccache actually uses.
echo "SCCACHE_BASEDIRS=$SCCACHE_BASEDIRS"
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Closing this upstream PR because it is a test/canary PR. Continuing validation in the fork PR instead: abmcar#16 |
|
Closed in favor of fork-only test PR: abmcar#16 |
⚡ Performance Regression Check Results✅ Performance Check Passed (interpreter)Performance Benchmark Results (threshold: 25%)
Summary: 194 benchmarks, 0 regressions ✅ Performance Check Passed (multipass)Performance Benchmark Results (threshold: 25%)
Summary: 194 benchmarks, 0 regressions |
Summary
Add a canary path for CI build acceleration using Ninja plus sccache in one representative EVM job.
Scope is intentionally narrow:
.ci/cmake_ci_build.shwith default-offDTVM_CI_USE_NINJAandDTVM_CI_USE_SCCACHEtoggles.ci/run_test_suite.shconfigure/build loop through the helperbuild_test_release_multipass_lazy_evmtestsuite_on_x86_ctestcompile_requests > 0Validation
Local validation run:
bash -n .ci/cmake_ci_build.sh .ci/run_test_suite.shgit diff --cached --checkrun_test_suite.shpathcmake --build build-helper-smoke -j $(nproc)Known local limits:
sccacheis not installed, so GHA backend behavior must be verified by PR CIactionlintis not installedtools/format.sh checkcurrently fails on existing unrelated C/C++ clang-format violations outside this changeCI measurement target
This PR is for canary data collection first. Please compare cold-cache and warm-cache runs for:
Build and Teststep durationsccache compile_requestssccache aggregate_cache_hitsfromstats.cache_hits.countsIf warm-cache data is useful and stable, later PRs can roll the same helper out to the remaining EVM/WASM jobs.