Skip to content

ci: keep main runs, drop a dead flag, tighten path filters - #451

Open
napetrov wants to merge 3 commits into
mainfrom
dev/napetrov/ci-hygiene
Open

napetrov wants to merge 3 commits into
mainfrom
dev/napetrov/ci-hygiene

Conversation

@napetrov

@napetrov napetrov commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Three CI hygiene fixes in .github/workflows/. Refs #432, #436.

Change Files Effect
cancel-in-progress: ${{ github.event_name == 'pull_request' }} (group keys unchanged) all 7 workflows with cancel-in-progress: true A push to main is no longer cancelled when the next commit lands. PR runs still cancel superseded runs.
Drop -DSVS_EXPERIMENTAL_LEANVEC=YES build-linux-arm.yml, build-macos.yaml Removes a flag that does nothing. LeanVec moved to the closed-source LTO lib.
pull_request.paths filter cibuildwheel.yml Wheel build runs only for bindings/python/**, include/**, cmake/**, CMakeLists.txt, data/**, docker/x86_64/manylinux228/**, examples/python/**, tools/pybuild.py, README.md, LICENSE, THIRD-PARTY-PROGRAMS, or the workflow itself. Push to main stays unfiltered.
Extend paths-ignore build-linux, build-linux-arm, build-macos, build-cpp-runtime-bindings, build-c-api-bindings Also skip .github/CODEOWNERS, .github/dependabot.yml, .github/workflows/cibuildwheel.yml, .github/workflows/skywalking-eyes.yml. LICENSE* and THIRD-PARTY-PROGRAMS are skipped for build-linux, build-linux-arm, build-macos and build-c-api-bindings only: none of those read them. build-cpp-runtime-bindings keeps them, since its conda recipe packages both files.

Evidence

  • Cancelled main runs: the Linux, ARM, macOS and cpp-runtime runs for 01faed1 on main were cancelled when f3fb5bd landed, so 01faed1 was never tested. With the new setting, cancel-in-progress is false for push events.
  • Dead flag: grep -rn SVS_EXPERIMENTAL_LEANVEC cmake/ CMakeLists.txt bindings/ finds nothing; only HISTORY.md mentions it. CMake warns about it on every ARM run (run 40030763524):
    Manually-specified variables were not used by the project:
        SVS_EXPERIMENTAL_LEANVEC
    
  • cibuildwheel paths: bindings/python/CMakeLists.txt does add_subdirectory("../.."), which pulls in the root CMakeLists.txt, cmake/ and include/. It also installs data/serialization.toml. The tests read data/test_dataset. The workflow builds docker/x86_64/manylinux228 and runs tools/pybuild.py and examples/python. All of those paths are in the filter.
  • Examples and docker are still watched: the core workflows build examples, so examples/ is not ignored. docker/** is not ignored either.
  • actionlint 1.7.7: reports the same 16 shellcheck notes before and after this change. All 16 already exist on main; there are no new findings.

Merge danger

  • Low. Pushes to main that land back to back no longer cancel a run that is already going, so a burst of merges uses more runner minutes. GitHub still replaces a run that is only pending with a newer one, so a middle commit of a quick burst can get no run; that is unchanged by this PR.
  • If a PR touches only the ignored files, those workflows do not run. If a workflow is a required check, the PR will wait on it. None of the core builds ignored the .github/ files before, so check branch protection if that matters.

🤖 Generated with Claude Code

- cancel-in-progress only for pull_request events, so pushes to main
  are never cancelled by the next merge
- drop -DSVS_EXPERIMENTAL_LEANVEC=YES (no such CMake option)
- cibuildwheel: pull_request paths filter
- core builds: ignore CODEOWNERS, dependabot, unrelated workflows,
  LICENSE, THIRD-PARTY-PROGRAMS
setup.py reads README.md, LICENSE and THIRD-PARTY-PROGRAMS from the repo
root, and the cpp runtime conda recipe packages LICENSE and
THIRD-PARTY-PROGRAMS. The new path filter and paths-ignore skipped those
changes, so a rename or removal would only fail after merge.

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