Repository navigation
#57: Enforce the PR-requirements and Python 3.10 CI gates - #59
Conversation
…equirements workflow
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (2)
WalkthroughThe PR adds a pull request requirements workflow using a pinned action. It validates PR metadata, descriptions, issue references, branch names, and target branches. It also removes advisory handling from the Python 3.10 QA matrix leg. ChangesPull request validation
Estimated code review effort: 2 (Simple) | ~10 minutes Poem
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Overview
Two CI-gate fixes tracked as Phase 0 residuals (
P0-R1+P0-R5inliving-doc/docs/specs/phase-0-tasklist.md§4a). Both are workflow-only — nodependency,
pyproject.toml, or source change.1. Add
check-pr-requirements.yml(#57)This repo runs
check_pr_release_notes.yml(release-notes presence) but not thebranch-name / PR-title / issue-reference / target-branch gate — even though
CONTRIBUTING.mdalready tells contributors "thecheck-pr-requirementsCIcheck rejects a branch that has no issue number."
Adds
.github/workflows/check-pr-requirements.yml, byte-identical to thecanonical form in issue #57 (and the reference copy in
living-doc-generator-markdown), pinningAbsaOSS/check-pr-requirements@adb22f6d88c93fd801e787a63d948d6fbbdd4af3 # v0.2.0with:
check-title/title-formatstrue/issue-numbercheck-branch-name/branch-require-tickettrue/truecheck-description/description-required-sectionstrue/## Overview,## Release Notes,## Relatedcheck-issue-reference/issue-reference-require-keywordtrue/truecheck-target-branch/allowed-target-branchestrue/main,master,support/*,release/*check-release-notesfalse—check_pr_release_notes.ymlstill owns that checkcheck_pr_release_notes.ymlis left untouched (git diffon it is empty).2. Make the Python 3.10 CI leg required (#58)
test.yml'sqajob ran the3.10matrix leg as advisory(
continue-on-error: ${{ matrix.python-version == '3.10' }}). The comment aboveit tied that exception to a
living-doc-utilitiesrelease — but this repo hasno
living-doc-utilitiesdependency (the tree ispydantic/jsonschema/click/packagingplus the in-repo packages). That comment was inheritedboilerplate from the reference
test.yml.Every package already declares
requires-python = ">=3.10"(core,datasets_pdf,adapters/collector_gh,services/normalize_issues,services/coverage_matrix,apps/cli) and all third-party deps support 3.10, sothe leg is now required:
continue-on-error: ${{ matrix.python-version == '3.10' }}living-doc-utilities…" comment above it3.10, 3.11, 3.12, 3.13, 3.14), per-package Makefile jobs, and QAthresholds unchanged
Local verification (Python 3.10.18)
make installandmake qawere run against a cleanpython3.10venv:make install— exit 0, all six packages installedmake qa— exit 0; 241 tests pass, every package over the 80% coveragegate:
coredatasets_pdfadapters/collector_ghservices/normalize_issuesservices/coverage_matrixapps/cliBranch protection (repo-admin follow-up)
Not done in this PR — requires admin access. After merge, add
PR Requirementsto
master's required status checks in branch protection so #57's gate isenforced on future PRs. The
3.10QA leg (QA (Black, Pylint, mypy, Pytest) — Python 3.10) also becomes required automatically once it is a non-advisory check;confirm it is in the required set alongside the other matrix legs.
Release Notes
check-pr-requirements.ymlgate (PR title / branch ticket / body sections / issue-reference keyword / target branch).continue-on-error); removed an inapplicable comment referencingliving-doc-utilities.Related
Closes #57
Closes #58
Summary by CodeRabbit
Chores
Bug Fixes