brainglobe / brainglobe-workflows

Workflows that utilise BrainGlobe tools to perform data analysis and visualisation.
BSD 3-Clause "New" or "Revised" License
9 stars 2 forks source link

[Feature] run benchmarks on latest development branch of tools #75

Open alessandrofelder opened 8 months ago

alessandrofelder commented 8 months ago

Is your feature request related to a problem? Please describe. While this repo is mainly user-facing, and should provide users with examples that run with the latest version of the brainglobe metapackage, the benchmarks should run on the development versions of tools to warn of problems early.

Describe the solution you'd like The benchmarks should run on the development versions of tools to warn of problems early.

Describe alternatives you've considered None yet

Additional context Started discussion of this in #72

adamltyson commented 8 months ago

This could just be done with a separate requirements file right? Just listing e.g. git+https://github.com/brainglobe/cellfinder?

alessandrofelder commented 8 months ago

Presumably, yes... I would guess there's a simple solution at least.

willGraham01 commented 8 months ago

I believe (and @sfmig will correct me if I'm wrong) but asv attempts to build the package wheels, then install from said wheel file into it's testing environment, from pyproject.toml.

As such, it gathers dependencies from the package metadata and fetches those dependencies from the specified channels. This is why we have the asv_requirements optional dependency for the package to force asv to find everything it needs, but users don't. You can set the channels that it searches for dependencies, but that doesn't extend to GitHub.

But I believe we can hack around this by overwriting the "build command" in asv_conf.json. Said build command will just happen to include pip install -r asv_reqs_from_github.txt.