Skip to content

fix(ci): make protobuf JavaScript codegen portable - #115

Merged
BitHighlander merged 1 commit into
up/release-protocolfrom
agent/fix-portable-protobuf-codegen
Jul 31, 2026
Merged

fix(ci): make protobuf JavaScript codegen portable#115
BitHighlander merged 1 commit into
up/release-protocolfrom
agent/fix-portable-protobuf-codegen

Conversation

@BitHighlander

Copy link
Copy Markdown
Collaborator

Summary

  • declare the JavaScript protobuf compiler as a repository-owned build dependency
  • pin a compatible google-protobuf runtime for generated boolean accessors
  • exercise JavaScript generation in Protocol CI on the staging branch
  • keep npm and Yarn lockfiles aligned

Root cause

Vault CI built the exact device-protocol submodule, but device-protocol relied on a globally installed protoc-gen-js. Local macOS builds passed because Homebrew supplied it; clean GitHub runners failed. A clean container then exposed the old runtime mismatch as well.

Validation

  • fresh node:20-bookworm container: npm ci
  • fresh container: npm run build:js
  • Ironwood fields 19/20 serialization round-trip
  • Zcash action boolean serialization round-trip
  • generated Solana token_recipient_owner accessors present
  • protoc descriptor compilation
  • tools/check_zcash_contract.py

No protobuf wire definitions change in this PR. No package publish is part of this work.

@BitHighlander
BitHighlander marked this pull request as ready for review July 31, 2026 23:22
@BitHighlander
BitHighlander merged commit d8b94bd into up/release-protocol Jul 31, 2026
3 of 4 checks passed
@BitHighlander
BitHighlander deleted the agent/fix-portable-protobuf-codegen branch July 31, 2026 23:22
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