Skip to content

ci: scope product builds for benchmark-only changes - #164

Merged
tulayha merged 1 commit into
mainfrom
codex/scope-benchmark-ci
Sep 14, 2026
Merged

tulayha merged 1 commit into
mainfrom
codex/scope-benchmark-ci

Conversation

@tulayha

@tulayha tulayha commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

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/**/*.py and 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 1.7.12: actionlint -shellcheck= -pyflakes= .github/workflows/ci.yml — passed; optional ShellCheck/Pyflakes integration was disabled because those tools are unavailable locally.
  • Executed the actual required-job shell from the workflow against eight scenarios covering successful narrow/full validation, failed scope, failed/cancelled jobs, and incorrectly skipped selected jobs — passed.
  • 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.

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.
@tulayha
tulayha merged commit f76ef7e into main Sep 14, 2026
14 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.

1 participant