Skip to content

ci: Track protobuf conformance in CI#2202

Merged
dcodeIO merged 1 commit intomasterfrom
patch/conformance-ci
May 5, 2026
Merged

ci: Track protobuf conformance in CI#2202
dcodeIO merged 1 commit intomasterfrom
patch/conformance-ci

Conversation

@dcodeIO
Copy link
Copy Markdown
Member

@dcodeIO dcodeIO commented Apr 29, 2026

Adds CI coverage for the official Protocol Buffers conformance suite and uploads the generated logs as artifacts.

The workflow currently runs against upstream v33, but the generator is prepared for v34.1/v35-rc1 where required EditionUnstable cases are present when testing up to Edition 2024. This requires a workaround on our end because the parser intentionally only accepts released editions.

Also updates the README.

Current results

@dcodeIO dcodeIO force-pushed the patch/conformance-ci branch 2 times, most recently from 63e9812 to bd36ee8 Compare May 5, 2026 10:28
@dcodeIO dcodeIO requested a review from alexander-fenster May 5, 2026 10:36
@dcodeIO dcodeIO marked this pull request as ready for review May 5, 2026 10:37
@dcodeIO dcodeIO changed the title chore(ci): Add protobuf conformance job to CI ci: Track protobuf conformance in CI May 5, 2026
@dcodeIO dcodeIO force-pushed the patch/conformance-ci branch from bd36ee8 to 987f69a Compare May 5, 2026 10:48
@dcodeIO
Copy link
Copy Markdown
Member Author

dcodeIO commented May 5, 2026

Scope note: I intentionally kept the README commitment limited to the current CI surface: state the conformance target, run the official suite, and make the results visible. Broader roadmap language could be premature unless maintainers have time and support to own that work.

For conformance specifically, useful follow-ups include enabling a binary threshold gate, validating newer upstream runners, and settling UTF-8 VERIFY behavior using TextEncoder/TextDecoder in a major release where stricter decoding can be treated as a breaking change.

More broadly, protobuf.js would also benefit from native ESM and BigInt, a platform support bump (minimum Node v12.11.0 for TextEncoder#encodeInto, or, even better, alignment with the Node LTS schedule), first-class JSON mapping, first-class support for well-known types, closer CLI alignment with protoc, and improved TypeScript output. None of that is required for this PR, but it would be valuable future work if someone wants to pick it up or support me in doing so.

@dcodeIO dcodeIO merged commit fe7c6c5 into master May 5, 2026
5 checks passed
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