ci: scope product builds for benchmark-only changes - #164
Merged
Merged
Conversation
Keep full Python and package validation while skipping unrelated product artifact and provider jobs for a conservative benchmark-only scope. Require selected jobs to succeed. Internal-only.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related issue
Follow-up to #128.
Summary
Benchmark-only Python changes currently trigger container builds, Desktop installers and extension packages, and Windows provider validation. Restrict the exemption to
src/vidxp/benchmarks/**/*.pyand the four existing benchmark test files, optionally accompanied by documentation. Keep the full Python suite, lockfile verification, upload-page checks, wheel/sdist build, and minimal CLI/package smoke checks.Mixed changes retain normal validation: shared code, benchmark requirements, packaging, lockfiles, workflow files, and unknown product paths are not exempt. Unrecognized tests retain their existing scope. All workflow changes now select Desktop validation as well. Forced release validation is unchanged.
The required check now demands success from each selected job; only jobs outside the selected scope may be skipped. Document the scope boundary in the contributor guide. Internal-only CI change; no application behavior or release-note impact.
Validation
PYTHONPATH=src /Users/grayhat/Developer/vidxp/.venv/bin/python -m pytest -q tests/test_ci_scope.py tests/test_packaging.py— 33 passed, 28 subtests passed./Users/grayhat/Developer/vidxp/.venv/bin/ruff check utils/ci_scope.py tests/test_ci_scope.py— passed.actionlint -shellcheck= -pyflakes= .github/workflows/ci.yml— passed; optional ShellCheck/Pyflakes integration was disabled because those tools are unavailable locally.git diff --check— passed.No local application builds or full Python suite were run for this scope-only change. Markdown lint/link checks were not run locally; documentation CI can validate the prose-only addition, which adds no links. GitHub-hosted execution remains to be validated by this PR's CI; workflow changes deliberately receive broad validation.