Skip to content

Fix deploy-docs.yml API reference generation on CI - #9367

Merged
alexreinking merged 1 commit into
mainfrom
alexreinking/fix-doxygen
Aug 19, 2026
Merged

Fix deploy-docs.yml API reference generation on CI#9367
alexreinking merged 1 commit into
mainfrom
alexreinking/fix-doxygen

Conversation

@alexreinking

Copy link
Copy Markdown
Member

Summary

  • doc/generate_api_reference.py's _member_names() crashed with TypeError: argument of type 'NoneType' is not iterable when run against Doxygen 1.9.8 (Ubuntu 24.04's apt package): anonymous enums get an empty <name/> there, vs. a synthetic "@N" string on newer Doxygen (which is what local dev machines typically have, so this only showed up on CI).
  • Handle both forms in _member_names().
  • Also stop depending on the stale apt-packaged Doxygen in deploy-docs.yml — install upstream's official 1.18.0 Linux binary instead (checksum-pinned), so CI isn't stuck on 1.9.8 going forward.

Test plan

  • Reproduced the crash locally against Doxygen 1.9.8 XML output (built via Docker on ubuntu:24.04) for the specific anonymous enum in HalideRuntime.h that triggers it.
  • Confirmed the fix handles both the empty <name/> (1.9.8) and synthetic @N (1.18.0) forms, regenerated from real Doxygen XML in each case.
  • Verified the pinned Doxygen 1.18.0 Linux binary executes correctly on ubuntu:24.04 under Docker.
  • pre-commit run --all-files passes on both changed files.
  • CI run on this PR builds deploy-docs.yml successfully (dry run).

🤖 Generated with Claude Code

The Doxygen XML for an anonymous enum's <name> is an empty element on
Doxygen 1.9.8 (Ubuntu 24.04's apt package) but a synthetic "@n" string
on newer releases; generate_api_reference.py only handled the latter,
crashing with TypeError on CI while working fine locally against a
newer local Doxygen. Handle both, and also install upstream's official
1.18.0 binary in the workflow so CI isn't stuck on the ancient
distro-packaged version going forward.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@alexreinking
alexreinking merged commit c1632c9 into main Aug 19, 2026
2 checks passed
@alexreinking
alexreinking deleted the alexreinking/fix-doxygen branch August 19, 2026 20:52
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.

2 participants