Skip to content

Repair dependency incompatibilities blocking CI #422

Description

@JordanNoone

Machine API CI cannot compile current main (7bdf30993ad439fbcd99be0fe4a9408f6ceaef7e). The September 13 test run fails because Bambu builds a Rustls 0.22 ClientConfig, while rumqttc expects 0.23.

Existing #392 aligns Rustls, but its test run then fails on two outdated calls in src/server/mod.rs: ConfigDropshot needs compression, and libmdns::Responder::new() returns the responder directly. Both remain on main.

The Rustls upgrade also makes Bambu client construction panic when both aws_lc_rs and ring are enabled, as they are in the workspace. A local constructor-only check reproduced the ambiguous CryptoProvider panic; explicitly selecting the provider avoids relying on process-global initialization.

Repair the dependency mismatch and server calls, then verify cargo build --workspace, the existing test workflow, and cargo clippy --workspace --tests -- -D warnings on the same revision. Also verify Bambu client initialization without a preinstalled crypto provider. A constructor check does not establish a real printer TLS connection.

Follow-up on draft #423: fixing the first errors exposed Responder::register now taking &str, a second outdated mDNS call in the CLI, and OpenTelemetry 0.32 SDK code still using the old TracerProvider/batch-exporter APIs with a 0.27 exporter. The draft includes those compatibility fixes and the exporter alignment from #377, retaining gRPC transport.

The first Clippy run additionally found redundant formatting borrows (fixed in the draft) and large_enum_variant warnings on bambulabs::message::{Message, Print} and bambulabs::templates::Template. Those enum layout/API decisions remain separate follow-up work; the draft does not suppress the lint. Full CI recovery requires resolving the remaining checks.

Verification at 6a89aed27d494e347d5087ba5f238366b65c1862: build, tests (42 passed, 0 skipped), formatting and security pass. Clippy still stops at the three enum-size warnings above. The constructor-only Bambu check passes with both Rustls providers enabled and no process-global provider installed. Real printer connectivity and telemetry delivery were not exercised. The PR remains draft and unmerged; this issue remains open for the outstanding CI work.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions