Skip to content

Pin git dependencies to release tags for v0.1.0#858

Merged
jerrysxie merged 4 commits into
OpenDevicePartnership:mainfrom
jerrysxie:v0.1.0-release
May 21, 2026
Merged

Pin git dependencies to release tags for v0.1.0#858
jerrysxie merged 4 commits into
OpenDevicePartnership:mainfrom
jerrysxie:v0.1.0-release

Conversation

@jerrysxie
Copy link
Copy Markdown
Contributor

@jerrysxie jerrysxie commented May 21, 2026

This pull request updates several dependencies to use fixed versions or tags, improving build reproducibility and stability across the project. Additionally, it refactors the MCTP protocol test utilities to use encoding types for greater flexibility and type safety. There is also a minor configuration change to enable strict mode in I2C master configuration.

Dependency version pinning and updates:

  • Updated multiple dependencies in Cargo.toml files to use specific tags (e.g., tag = "v0.1.0") or commit hashes instead of tracking the latest code on the main branch. This applies to embassy-imxrt, embedded-cfu-protocol, embedded-usb-pd, mctp-rs, and tps6699x across several project and example manifests, as well as keyberon in keyboard-service/Cargo.toml [1] [2] [3] [4] [5] [6] [7].

MCTP protocol test refactor:

  • Refactored the MCTP protocol test utilities in embedded-service/src/ec_type/protocols/mctp.rs to use EncodingDecoder, EncodingEncoder, and PassthroughEncoding types, improving type safety and future extensibility for encoded payloads [1] [2] [3] [4] [5].

Configuration improvements:

  • Enabled strict_mode in the I2C master configuration in examples/rt633/src/bin/espi_battery.rs for stricter protocol compliance.

Pin all git dependencies to specific release tags or revisions
to ensure reproducible builds:

- embassy-imxrt: pin to v0.1.0 tag
- embedded-cfu-protocol: pin to v0.1.0 tag
- embedded-usb-pd: pin to v0.1.0 tag
- tps6699x: pin to v0.1.0 tag
- mctp-rs: move to OpenDevicePartnership fork, pin to v0.1.0 tag
- keyberon: pin to specific commit revision

Update rt633 espi_battery example to add strict_mode field
required by the new embassy-imxrt I2C config.

Update all Cargo.lock files to reflect the dependency changes.
@jerrysxie jerrysxie requested review from felipebalbi and tullom May 21, 2026 01:12
@jerrysxie jerrysxie self-assigned this May 21, 2026
@jerrysxie jerrysxie requested a review from a team as a code owner May 21, 2026 01:12
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR aims to make builds more reproducible for the v0.1.0 release by pinning git-based dependencies to release tags (or a specific revision), updating example configuration to match upstream API changes, and refreshing lockfiles across the repo and example workspaces.

Changes:

  • Pin multiple git dependencies (embassy-imxrt, embedded-cfu-protocol, embedded-usb-pd, tps6699x, mctp-rs) to v0.1.0 tags and keyberon to a fixed commit revision.
  • Update the rt633 espi_battery example for the new embassy-imxrt I2C config (strict_mode).
  • Update Cargo.lock files to reflect the new dependency sources/versions.

Reviewed changes

Copilot reviewed 6 out of 10 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
Cargo.toml Pins workspace git dependencies to v0.1.0 tags and moves mctp-rs to the OpenDevicePartnership fork.
Cargo.lock Updates resolved git sources/commits (and other transitive changes) to match the new pins.
keyboard-service/Cargo.toml Pins keyberon to a specific git revision.
examples/std/Cargo.toml Pins example git dependencies (embedded-usb-pd, embedded-cfu-protocol) to v0.1.0.
examples/std/Cargo.lock Refreshes the std example’s resolved dependency graph.
examples/rt685s-evk/Cargo.toml Pins embedded git dependencies for the rt685s-evk example to v0.1.0.
examples/rt685s-evk/Cargo.lock Refreshes the rt685s-evk example’s resolved dependency graph.
examples/rt633/Cargo.toml Pins embassy-imxrt for the rt633 example to v0.1.0.
examples/rt633/Cargo.lock Refreshes the rt633 example’s resolved dependency graph.
examples/rt633/src/bin/espi_battery.rs Adds the required strict_mode field to the I2C master config.

Comment thread Cargo.toml
Comment thread keyboard-service/Cargo.toml
Comment thread Cargo.toml Outdated
Comment thread examples/rt685s-evk/Cargo.toml Outdated
jerrysxie added 3 commits May 20, 2026 22:13
Adapt the test utility's MctpMedium implementation to match the
updated mctp-rs trait which now requires:
- An Encoding associated type (PassthroughEncoding for tests)
- deserialize returning EncodingDecoder instead of raw &[u8]
- serialize closure taking &mut EncodingEncoder instead of &mut [u8]

Assisted-by: GitHub Copilot:claude-opus-4.6
@jerrysxie jerrysxie enabled auto-merge (squash) May 21, 2026 03:35
@jerrysxie jerrysxie requested a review from dymk May 21, 2026 16:33
@jerrysxie jerrysxie merged commit 6034c6b into OpenDevicePartnership:main May 21, 2026
15 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.

5 participants