Skip to content

ci: narrow benchmark checks and add documentation validation gate - #155

Merged
gouyt13 merged 2 commits into
mainfrom
ci/fix-routing-and-documentation-gate
Oct 22, 2026
Merged

gouyt13 merged 2 commits into
mainfrom
ci/fix-routing-and-documentation-gate

Conversation

@gouyt13

@gouyt13 gouyt13 commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

Summary

PR #154 changed benchmark display labels but triggered the complete C++ and wheel matrices because benchmarks/build_indexes.py fell through to the unknown-input rule.

  • Route the eleven known root benchmark Python drivers to the existing Python quality job, which now runs the dataset-independent benchmark protocol tests without installing the native package. Include all benchmark Python files in Ruff checks.
  • Key Test and Python workflow concurrency by PR number so same-named branches from different forks do not cancel each other.
  • Always emit Documentation validation, while building documentation only when selected or change detection fails. Reject failed, cancelled or unexpectedly skipped selected builds.
  • Give the main GoogleTest executable an explicit 30-second discovery budget after Windows CI hit the default 5-second startup timeout.
  • Add regression coverage and update the maintainer guide. Keep conservative unknown-input, mixed-source, unreleased-main and release safeguards.

Testing

Independent local review: PASS, for the initial candidate and the discovery-timeout follow-up delta.

  • python -m unittest discover -s .github/scripts -p 'test_*.py' -v: 31 passed. New regressions failed against the previous implementation before the fixes.
  • python -m pytest tests/python/test_benchmark_protocol.py -q: 12 passed, also with imports of rabitqlib, Faiss, scikit-learn, SciPy and Matplotlib blocked.
  • ./scripts/check-python.sh, plus Ruff lint/format for .github/scripts: passed.
  • shellcheck scripts/check-python.sh: passed.
  • actionlint 1.7.12 on all five workflows: passed.
  • python -m mkdocs build --strict --config-file docs/mkdocs.yml: passed.
  • Controlled discovery probe: a six-second startup fails with the previous default timeout and passes with the explicit budget; a failing test still fails CTest. Real Windows verification is pending the updated PR run.
  • git diff --check: passed.

The complete #154 change set now selects only documentation and Python quality checks. This PR itself intentionally retains broad CI because it changes the CI selector.

Follow-up after merge

Branch protection has not been changed. After this workflow is merged and its selected-doc, failed-doc and intentional-no-doc paths are verified on GitHub, add Documentation validation to main's required checks while preserving all existing contexts and app IDs. Do not require the new context before it is available.

@gouyt13
gouyt13 merged commit f21d989 into main Oct 22, 2026
95 checks passed
@gouyt13
gouyt13 deleted the ci/fix-routing-and-documentation-gate branch October 22, 2026 16:23
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