* Perform memory measurement on SIGUSR1
* remove nub
* Update the open telemetry docs
* remove redundant bang
Co-authored-by: Javier Neira <atreyu.bbb@gmail.com>
* Move testdata for auto-formatting tests into its own sub-folder.
It's a lot of files, packing them up into their own little folder makes the
testdata directory much cleaner.
* Delete unused test datafiles.
These look like one the files used in the formatting tests, but they aren't.
These files do nothing.
* Fix typo. "Haksell" |-> "Haskell".
Haksell is what we do to our users.
Co-authored-by: Pepe Iborra <pepeiborra@gmail.com>
* Drop macOS benchmarks
* Drop macOS tests
* Really exclude Windows 8.6.4
It occasionally becomes much slower than the others and times out after 6h
https://github.com/haskell/haskell-language-server/runs/1626173853?check_suite_focus=true
* switch to haskell/actions/setup
actions/setup-haskell has been archived, haskell/actions/setup is the replacement
* use coarser cache keys
We are getting very few cache hits because we have too many caches and are
running over the 5GB per repository limit.
Each node in the matrix weighs around 350MB, so we can have up to 15 nodes. The
current matrix (after dropping macOS but before adding 8.10.3) has 12 nodes.
The `**/*.cabal` hash is wrong, since it also captures cabal files in tests
The `**/cabal.project` is wrong for the same reason, but it can be easily
fixed.
* Use more precise .cabal paths in test cache
* Reuse build cache in bench workflows and viceversa
* Reduce Nix builds to the bare minimum
We simply need to check that the Nix derivation works
* remove enable-stack
* Auto cancel redundant workflows
* Enable tests fail-fast
* Remove ghc-lib from matrix
Created #784 to restore it
* Invert the dependency between ghcide and hls-plugin-api
This PR includes changes both to ghcide and HLS to implement the reorg described in https://github.com/haskell/ghcide/issues/936#issuecomment-751437853
To summarise:
- `hls-plugin-api` no longer depends on ghcide.
- `ghcide` now depends on `hls-plugin-api` and exposes:
- The ghcide HLS plugin
- The `asGhcIdePlugin` adaptor
The goals are:
- to be able to break the `ghcide` HLS plugin down
- to rewrite exe:ghcide on top of the HLS plugin model.
The ghcide side is reviewed in https://github.com/haskell/ghcide/pull/963
If this change is accepted there are two further considerations:
- This would be a good moment to merge the 2 repos, so that there is no history loss.
- `hls-plugin-api` will need to be released to Hackage prior to merging https://github.com/haskell/ghcide/pull/963
* clean up
* Fix the ghcide plugin to include the rules
* clean up PartialHandlers definition
The ghcide partial handlers for completions, code actions and hover are not
really being used, since they get overriden by the `<> ps` append. This is due
to the right-biased semantics of `PartialHandlers`
* Move ghcide LspConfig into Ide.Plugin.Config
* Use HLS plugins in ghcide
For now there is only one, the main ghcide plugin. But this will allow us to
break it down in more fine grained plugins with parallel semantics, both for
execution and error handling
* Fix hlints
* Revert "Temporarily disable the upstream branch for benchmarks"
This reverts commit 7bb3c6efae.
* Disable the Windows 8.6.4 test
* Fix unrelated hlints
Not sure why these are triggering now.
Linting should be restricted to the Diff ...
Error:
Error: While constructing the build
plan, the following exceptions were
encountered:
In the dependencies
for diagrams-postscript-1.4.1:
hashable-1.3.0.0 from stack
configuration does
not
match >=1.1 && <1.3
(latest matching
version is 1.2.7.0)
lens-4.18 from stack configuration
does not
match >=4.0 && <4.18
(latest matching version
is 4.17.1)
needed due to shake-bench-0.1.0.0
-> diagrams-postscript-1.4.1
```
Error: While constructing the build
plan, the following exceptions were
encountered:
In the dependencies
for shake-bench-0.1.0.0:
Chart-diagrams needed, but the stack
configuration has no
specified version
(latest matching
version is 1.9.3)
diagrams needed, but the stack
configuration has no
specified version (latest
matching version is 1.4)
diagrams-svg needed, but the stack
configuration has no
specified version
(latest matching
version is 1.4.3)
needed since shake-bench is a build
target.
```
The ghcide merge includes https://github.com/haskell/ghcide/pull/948
which removes the language extension code actions
This makes the associated func-test fail, because the HLS plugin does not pass
the test (only the ghcide code action did). This is because the HLS plugin uses
commands, and the tests do not wait for the command edit to be applied.
The fix is to change the HLS plugin to return a code action with edits and no commands
These tests were underspecified and broke with the recent improvements to ghcide
diagnostics in https://github.com/haskell/ghcide/pull/959 and included in this
merge.
Fixed by waiting specifically for the typecheck diagnostics and by being less
prescriptive in the number and order of code actions
The benchmark script uses git worktree.
The upstream branch contains a ghcide submodule, which is not well supported by
worktree.
Once this PR has been merged and the upstream branch no longer contains a git
submodule, we can reenable it in the bench config