Repository navigation
ci: fail the docs publish when a version loses its javadoc - #1100
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: QUIET Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe workflow now checks generated Javadoc before deployment. The check parses documented versions from Sequence Diagram(s)sequenceDiagram
participant DocsWorkflow
participant check-javadoc-output.sh
participant BuildOutput
participant DocsDeploy
participant GitHubJob
DocsWorkflow->>check-javadoc-output.sh: Check documented versions
check-javadoc-output.sh->>BuildOutput: Inspect api/index.html
check-javadoc-output.sh-->>DocsWorkflow: Return missing versions
DocsWorkflow->>DocsDeploy: Deploy available documentation
DocsWorkflow->>GitHubJob: Fail after deployment if versions are missing
Priority: ➖ Normal Change: Bug fix · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to The documentation workflow now detects missing Javadoc, deploys available versions for partial losses, and makes the loss visible by failing the job. No actionable merge risk remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 71.43% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 7 functions across 2 files. (1 skipped: 1 unsupported.)
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 |
7d9dedc to
3f53f4e
Compare
731231d to
9ee21e0
Compare
A failed javadoc now only warns, and deploy.sh rebuilds gh-pages from the run's output and force-pushes, so that version's live /api/ is deleted while the job stays green. Check every version conf.py documents against the build output, report what was lost to the step summary, deploy so the versions that did build still publish, then fail. A total loss stops before deploy instead, since there would be nothing left worth publishing. Fixture tests cover the guard, and Docs / Build PR runs them. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
9ee21e0 to
298a41a
Compare
Since #1004 made the multiversion post-build tolerant, a failed javadoc only emits a
::warning::and the run continues.deploy.shthen rebuildsgh-pagesfrom this run's_build/dirhtmland force-pushes, so that version's live/api/is deleted rather than left stale — and the job stays green. Same silent-failure shape that hid the 2026-05-26 break for three months.gh-pagesholds 17 directories today, 16 versions plusstable, each with 619 to 1294 javadoc files.conf.pydocuments, so one missing from the build is caught too, not just the directories the build left behindapi/index.html, not merely a non-emptyapi/Wanted before #1079, which makes
scylla-4.xtheLATEST_VERSION— if its javadoc fails there,stable/apiis what gets emptied.Verified: 17 fixture cases, plus 11 deliberate mutations of the guard, each caught by at least one case. The expected version list is written out rather than re-derived by a copy of the guard's own parser, and matches the live
gh-pagestree exactly.Docs / Build PRnow runs the suite.Not covered: the publish path itself still never runs before merge (#1103, #1104).
Fixes #1101
Refs: https://scylladb.atlassian.net/browse/DRIVER-1087
🤖 Generated with Claude Code