Skip to content

propolis-lib doesn't build without optional features #1113

@iximeow

Description

@iximeow

in #1091 we included some new uses of Crucible, in propolis-lib:

use crucible::BlockIO;
use crucible::BlockIndex;
use crucible::Buffer;

but how did this build without adding a direct dependency on crucible in propolis, which surely would have caused a "hmm" in review?

it was already a dependency, but optional! which unfortunately means that cargo test -p propolis fails with build errors about the non-present Omicron crates. CI passes, I think, because we cargo test --lib and build the entire workspace together, where propolis-server enables the Crucible-related features in propolis-the-library and it all pans out.

alongside untangling these dependencies (conditionalizing boot disk digest support?) we should add a cargo test -p propolis for good measure.

Metadata

Metadata

Assignees

No one assigned

    Labels

    developmentRelating to engineering experience and development of propolis, not guest or product interfaces

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions