Skip to content

ci: drop Linux ivf=OFF RelWithDebInfo jobs, a subset of the ivf=ON ones - #452

Open
napetrov wants to merge 2 commits into
mainfrom
dev/napetrov/ci-drop-ivf-off
Open

napetrov wants to merge 2 commits into
mainfrom
dev/napetrov/ci-drop-ivf-off

Conversation

@napetrov

@napetrov napetrov commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Linux CI runs two RelWithDebInfo jobs that build nothing their ivf=ON twin does not also build. This PR removes them.

Job Before After
g++-11 RelWithDebInfo ivf=OFF runs removed (g++-11 ivf=ON stays)
clang++-15 RelWithDebInfo ivf=OFF runs removed (clang++-15 ivf=ON stays)
g++-12 RelWithDebInfo ivf=OFF runs kept: g++-12 is excluded from ivf=ON, so this is its only job
clang++-18 ASAN Debug ivf=OFF runs kept (covers the build without MKL)

The change adds two exclude entries. Job names stay the same.

Evidence

SVS_EXPERIMENTAL_ENABLE_IVF only adds things. It never takes anything away:

  • CMakeLists.txt:81-84: includes cmake/mkl.cmake and adds -DSVS_HAVE_MKL=1. Nothing in include/, tests/, utils/, benchmark/ or examples/ reads SVS_HAVE_MKL.
  • cmake/options.cmake:160-164: -DSVS_ENABLE_IVF=0/1. grep -rn SVS_ENABLE_IVF include/ tests/ utils/ examples/ finds nothing except SVS_ENABLE_IVF_EXAMPLES, a separate option. The only readers are in benchmark/src/main.cpp:30,56. Both are #if SVS_ENABLE_IVF blocks with no #else, so the OFF build is the ON build minus the IVF registrations.
  • tests/CMakeLists.txt:192,222, utils/CMakeLists.txt:55 and benchmark/CMakeLists.txt:52 only list(APPEND ...) or create_utility IVF sources.
  • ARM (build-linux-arm.yml) and macOS do not use an ivf axis, so neither is affected.

Measured cost: medians over the last 40 green build-linux runs. There were 236 runs in the last 30 days (206 pull_request, 30 push).

Job Median
g++-11 ivf=OFF 39.7 min
clang++-15 ivf=OFF 38.8 min
Saved per run ~78 min
Saved per month ~18.5k runner-min (about 23% of the 79.7k in #432)

actionlint 1.7.7 passes. It reports 4 shellcheck notes, and main has the same 4.

Merge danger

  • Lost coverage: compiling the non-IVF sources with g++-11 or clang-15 without MKL on the include path. Nothing is lost: the ivf=ON jobs compile exactly those sources, and the no-MKL build stays covered by g++-12 ivf=OFF and clang-18 ASAN ivf=OFF.
  • Branch protection: if a required status check names one of the removed jobs, PRs would wait on it forever. An admin would need to drop it from the required list.

Part of #432

🤖 Generated with Claude Code

g++-11 and clang++-15 ivf=OFF build the same sources as their ivf=ON
twins minus the IVF tests/utils/benchmark files. g++-12 keeps ivf=OFF
since it is its only job.

Part of #432

Signed-off-by: Nikolay Petrov <nikolay.a.petrov@intel.com>

This branch has not been deployed

No deployments
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.

1 participant