docs: DOC-1261: auto-import sync check coverage - #8302
Open
margaretkennedy wants to merge 3 commits into
Open
Conversation
margaretkennedy
requested review from
JamesXNelson,
devinrsmith,
elijahpetty,
jcferretti and
rcaudy
as code owners
July 29, 2026 19:49
Contributor
No docs changes detected for bbaae1c |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds automated detection and documentation for auto-import reference drift.
Changes:
- Adds a Java reflection-based sync checker.
- Adds scheduled/manual GitHub Actions coverage and notifications.
- Improves generator dependency and HTTP error handling.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
CheckAutoImportDocSync.java |
Implements documentation sync validation. |
README.md |
Documents CI and local workflows. |
generate_autoimport_docs.py |
Improves execution robustness and categorization. |
autoimport-docs-check.yml |
Adds scheduled and manual sync checks. |
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (3)
engine/table/src/test/java/io/deephaven/engine/table/lang/impl/CheckAutoImportDocSync.java:143
- This filter does not actually mirror the generator.
categorize()assigns an unmatched static-import class touncategorized, and the generator writes every category returned by the result table; onlyexclude_sourcesremoves a static source. Consequently, if a new class is added tostatics()without adding a prefix here, its generated rows may be absent from both doc trees while this check still passes. Either check all generator-included static classes (excluding the same sources as the generator) or make the generator explicitly omit uncategorized statics.
if (filteredOnly && !isDocumented(cls)) {
continue;
}
engine/table/src/test/java/io/deephaven/engine/table/lang/impl/CheckAutoImportDocSync.java:65
- The generator excludes only
valueOfandvalues, but this checker also drops any generated static member namedcompareTo,ordinal,name, orgetDeclaringClass. These are instance methods on enums, so the static modifier check already removes the boilerplate; excluding their names globally creates false negatives if a utility class exposes a legitimate static member with one of those names. Match the generator's exclusion set exactly.
private static final Set<String> EXCLUDED_METHOD_NAMES = new HashSet<>(Arrays.asList(
"values", "valueOf", "compareTo", "ordinal", "name", "getDeclaringClass"));
.github/workflows/autoimport-docs-check.yml:48
- The sync check is explicitly skipped for every pull request, so even a PR that changes
QueryLibraryImportsDefaultscan merge stale documentation and the problem is discovered only by the later weekly run. This defeats pre-merge sync coverage; set up Java and execute the check on PR events as well (and trigger it for changes to the static-imported implementation classes and committed auto-import pages).
- name: Run sync check (scheduled/manual only)
if: ${{ github.event_name != 'pull_request' }}
run: ./gradlew :engine-table:checkAutoImportSync
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.
No description provided.