[build] Add update_cddl script to refresh pinned w3c/webref CDDL files#17743
[build] Add update_cddl script to refresh pinned w3c/webref CDDL files#17743titusfortner wants to merge 3 commits into
Conversation
PR Summary by QodoAdd Bazel/Rake tooling to refresh pinned w3c/webref CDDL specs
AI Description
Diagram
High-Level Assessment
Files changed (6)
|
Code Review by Qodo
Context used✅ Compliance rules (platform):
11 rules 1. update_cddl.py missing tests
|
|
Code review by qodo was updated up to the latest commit 3c5376b |
|
Code review by qodo was updated up to the latest commit 6ae54e5 |
🔗 Related Issues
💥 What does this PR do?
//scripts:update_cddlresolves the latest webrefmaincommit and file hashes forcommon/webref_cddl.bzlplus the extension'suse_repo(...)list inMODULE.bazelif a new spec is added to the source directory.release_updatesrake task and thepre-releaseGitHub workflow alongside the otherupdate_*tasks.🔧 Implementation Notes
-all(union) file of each protocol — dropping the-local/-remotesplits, reducing the pin from 17 files to 6.🤖 AI assistance
scripts/update_cddl.pyand the Rakefile/workflow/BUILD wiring💡 Additional Considerations
The pin is still a superset of what's consumed: the
py/andjavascript/BUILD.bazel merge lists use 5 of the 6 (webdriver_bidi,permissions,prefetch,ua_client_hints,web_bluetooth).at_driver_allis pinned but unused — a separate protocol (AT Driver), we're pinning it but not merging it for use in our schema generation.Each
scripts/*.pyupdate tool spins up its own bareurllib3.PoolManager()(pinned_browsers,update_cdp,selenium_manager,update_docfx, and this one). Worth considering a shared configuredhttp_clientlibrary so timeout/retry/auth policy lives in one place instead of being repeated per script.🔄 Types of changes