Skip to content

dev/release: Simplify cargo publish #702

@paleolimbot

Description

@paleolimbot

Our cargo publish sequence is currently quite complicated because we have circular dev dependencies. It's possible to work around this but it is annoying and not great practice!

I think we should:

  • Add some check for circular dependencies in the dependency graph. The only culprits I know about are sedona and sedona-testing in dev-dependencies.
  • I don't know how sedona-raster became a dependency of sedona-functions but we should probably move that
  • sedona depending on sedona-testing (for the random geometry generator) needs to get fixed.
  • Separate out a crate for high-level benchmarks and/or high level tests. DataFusion has most of its tests in the datafusion crate's tests directory and a completely separate benchmark setup, perhaps for this reason. I do like keeping most of the tests file-local and I'm sure we can find a way to separate out the logic we need (maybe a high- and low- level testing crate) to keep that (even if we have to move some higher level integration tests or benchmarks).
  • Many of our benchmarks could be dynamic (e.g., we could have a CLI that passes some ArgSpecs as strings).

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