haskell / cabal

Official upstream development repository for Cabal and cabal-install
https://haskell.org/cabal
Other
1.61k stars 691 forks source link

how can we use cabal.projects but avoid having huge rebuilds for testing the primitive package? #5354

Open cartazio opened 6 years ago

cartazio commented 6 years ago

https://github.com/haskell/primitive/commit/85d6c2f07b88d6e97f08dc84e4beca4a0f77c377 is a stable link to the tip of current master as of this point in question

https://github.com/haskell/primitive/blob/85d6c2f07b88d6e97f08dc84e4beca4a0f77c377/cabal.project is the current flavor of cabal.project

we'd actually be totally ok with vector/statistics/the various testing libs packages to privately depend on older/released primitive... but at the moment we can't do that and thus any changes to primitive trigger a massive rebuild on a whole bunch of stuff. And we can't make use of cabal test/new-test or cabal benchmark/new-benchmark :(

cartazio commented 6 years ago

cc @hv @RyanGlScott @andrewthad

andrewthad commented 6 years ago

What we've done so far is just test and benchmark libraries that don't have a lot of deps. I even added flags to quickcheck-classes to disable dependencies that weren't needed for primitive's tests. I'm unaware of a better workaround.

cartazio commented 6 years ago

indeed. but better things would be better. and i'm sure while our problem is excaccerbated by being such a "wide spread" dep, its not a unique example. and it does motivate one example of private version deps

quasicomputational commented 6 years ago

This is obviously not a permanent solution, but maybe it would be less painful to rename the package while it's being tested and benchmarked (e.g. to primitive-dev before running cabal new-test, then remembering to change back to primitive before committing).

23Skidoo commented 6 years ago

Looks like basically the same issue as #1575.