haskell / haskell-language-server

Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.
Apache License 2.0
2.65k stars 355 forks source link

Please, CI needs to run all plugins tests OR remind to add testsuite when new plugin is added #2531

Open Anton-Latukha opened 2 years ago

Anton-Latukha commented 2 years ago

In https://github.com/haskell/haskell-language-server/pull/2530 lead to: https://github.com/haskell/haskell-language-server/pull/2530#issuecomment-1000236484

On adding a new plugin - people on both sides of the review can forget (& CI would give a wrong impression that everything passes) that CI does not have plugin check. So CI actually does not check that the plugin works properly & contributor & reviewer can merge it.


  1. CI conf can be done in a way that it automatically runs/generates test suite runs forall plugins.
  2. When the new directory into plugins is added, or when the list of dirs there do not match the literal list - remind to add the test suite hook into `test.
Anton-Latukha commented 2 years ago

The easiest way every Haskeller would think looking into test.yml & would think to fmap over the list of plugins. In idiomatic GitHub (& in most of other CIs) terms that would be to matrix on plugins.

But there are ~15-20 plugins. GitHub invalidates/terminates CI workflow if matrix expands >256 instances (even if we deforest most of them right in the code - GitHub does not count deforestation).

So the solution should be default

Anton-Latukha commented 2 years ago

DHall would also allow solving this in the Haskell way.