Skip to content

chore: re-vendor protobuf.lua from lua-protobuf v0.6.11 - #85

Merged
derek-miller merged 1 commit into
mainfrom
chore/revendor-protobuf-v0.6.11
Sep 25, 2026
Merged

derek-miller merged 1 commit into
mainfrom
chore/revendor-protobuf-v0.6.11

Conversation

@derek-miller

Copy link
Copy Markdown
Contributor

Verbatim copy of the protobuf.lua asset from the lua-protobuf v0.6.11 release (sha256 5e19f05d…2a1e9, 74877 bytes). The diff is the VERSION line only: v0.6.10...v0.6.11 is finitelabs/lua-protobuf#35, which changed the schema generator, its tests and CLAUDE.md, and nothing under src/. The file on main was byte-identical to the v0.6.10 asset, so no local change is dropped.

A consumer's proto-schema check runs lua-protobuf at the tag its vendored runtime reports, so this is what brings #35's generator to driver repos: options decoded by their declared type, and a failed generation exiting non-zero instead of leaving a stale schema.

Downstream: control4-esphome's template update must re-run make gen-proto in the same PR, or its proto-schema check fails on the new runtime version. The regeneration changes its bool message options from 1/0 to true/false (69 lines); the driver reads only options.id and options.ifdef, which do not change.

Verbatim copy of the `protobuf.lua` asset from the lua-protobuf v0.6.11
release (sha256 5e19f05dda5453d7165a3c8584e1aa41a5ca4618245de15192fb84bd8af2a1e9,
74877 bytes). The diff is the `VERSION` line only, v0.6.10 to v0.6.11: #35
changed tools/gen_lua_proto_schema, its tests and CLAUDE.md, and nothing
under src/, so the runtime is unchanged apart from the stamp. The file on
main was byte-identical to the v0.6.10 asset, so no local change is dropped.

A consumer's proto-schema check runs lua-protobuf at the tag its vendored
runtime reports, so this is what brings #35's generator (options decoded by
declared type, a failed generation exiting non-zero) to driver repos.

@svc-finitelabs svc-finitelabs Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified at db89363:

  • template/vendor/protobuf.lua at head is byte-identical to the v0.6.11 protobuf.lua asset (sha256 5e19f05d…2a1e9, 74877 bytes), and the file on main 222bb79 is byte-identical to the v0.6.10 asset (bd970eb6…1ebd0). No local change is dropped.
  • v0.6.10...v0.6.11 is one commit, 3ad17bb (#35), touching CLAUDE.md, Makefile, test/gen_schema_controls.sh and tools/gen_lua_proto_schema. Nothing under src/, so the VERSION line is the only runtime difference. (The body leaves out the Makefile, which only changes a comment, so it does not affect that conclusion.)
  • No other 0.6.10 reference remains in the template.
  • The downstream note holds: control4-esphome's proto-schema.yml reads the vendored local VERSION and checks out lua-protobuf at that tag, so its template-update PR has to regenerate in the same change. That repo's main is still at v0.6.10.

CI 7/7 green.

@derek-miller
derek-miller merged commit 975c208 into main Sep 25, 2026
7 checks passed
@derek-miller
derek-miller deleted the chore/revendor-protobuf-v0.6.11 branch September 25, 2026 22:36
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.

1 participant