Skip to content

Fresh workspace builds fail because plotly_static requires a driver feature #400

@RedZapdos123

Description

@RedZapdos123

When checking out the plotly.rs repository fresh and running cargo check or cargo build at the workspace root, the build fails immediately. The failure comes from the build script of the newly introduced plotly_static crate with the following error:

error: At least one of 'geckodriver' or 'chromedriver' features must be enabled.
  --> plotly_static/build.rs:17:1
   |
17 | ...enabled.");
   | ...^^^^^^^^^^

This compile time driver requirement makes sense for actual static export, but plotly_static is a workspace member and is also listed as a dev-dependency of plotly. During a standard workspace check or test run, plotly_static is compiled without features, so the build script currently blocks fresh workspace builds even when static export is not being used.

Minimal Reproducible Example (MRE):

  1. Clone the plotly.rs repository fresh:
    git clone https://github.com/plotly/plotly.rs.git
    cd plotly.rs
  2. Run a bare cargo check --workspace in the repository root:
    cargo check --workspace
  3. The build fails on plotly_static's build script compilation.

Expected Behavior:

A fresh workspace build should compile cleanly out of the box without requiring WebDriver feature selection, as long as static export is not actually being used.

Current Behavior:

plotly_static enforces driver selection at compile time, so fresh workspace builds fail even for contributor workflows that do not use static export.

The screenshot of the issue reproduction:

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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