Skip to content

Commit

Permalink
Transparent compiler (#1240)
Browse files Browse the repository at this point in the history
* Ignore warn on debug

* global.json nonsense

* Transparent compiler changes

* formatting

* Fixing snapshots/caching

* prototype adaptive snapshotting

* Cleanup adaptive snapshots

* Much refactoring snapshot tests

* Much refactoring snapshot tests

* Add adaptive snapshots to lsp server

* Make source to snapshot lookup adaptive

* workspace cleanups

* Fixup much stuff

* More cleanups

* undo some project selection and fix onsave checks

* Ensure project reloads happen correctly

* Enable all tests

* formatting

* formatting

* fix path normalization issues

* fix stacktraces when adaptive has failures

* fix normalization issues

* fixup stacktrackes

* fixup tests

* Add OTel to tests

* formatting

* remove future expecto features

* handle CI failures for file tests

* Maybe make tests work on nix

* fixing tests part 302

* fixing tests part 303

* fixing tests part 304

* fixing tests part 305

* get more logging in github actions

* fixing tests part 306

* fixing tests part 307

* fixing tests part 308

* cleanup

* refactoring

* Add OTel to projectworkspace

* add description to emptyfiletests

* add retry to cursorbased tests

* fix focustest helpers

* add telplin

* fix otel readme docs

* Make background/transparent compiler switchable

* Up timeout again

* Split up tests

* Retry workspace loader tests

* skip flakey test

* disable projectgraph  tests for perf reasons

* Fix description of transparent compiler flag

* cleanup dead code

* Comment project workspace more

* revert fsproj change

* Update src/FsAutoComplete.Core/AdaptiveExtensions.fs

Co-authored-by: Chet Husk <[email protected]>

* Update Directory.Build.props

Co-authored-by: Chet Husk <[email protected]>

* Remove nowarn since it's in pojectfile now

* Remove redundant normalize call

* Add noequality no comparison

---------

Co-authored-by: Chet Husk <[email protected]>
  • Loading branch information
TheAngryByrd and baronfel authored Apr 23, 2024
1 parent 1341352 commit c5a5812
Show file tree
Hide file tree
Showing 57 changed files with 2,484 additions and 808 deletions.
6 changes: 6 additions & 0 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@
"commands": [
"fsharp-analyzers"
]
},
"telplin": {
"version": "0.9.6",
"commands": [
"telplin"
]
}
}
}
12 changes: 10 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@ jobs:
- macos-13 # using 13 because it's a bigger machine, and latest is still pointing to 12
- ubuntu-latest
dotnet-version: ["", "6.0.x", "7.0.x", "8.0.x"]
use-transparent-compiler:
- "TransparentCompiler"
- "BackgroundCompiler"
workspace-loader:
- "WorkspaceLoader"
# - "ProjectGraph" # this is disable because it just adds too much time to the build
# these entries will mesh with the above combinations
include:
# just use what's in the repo
Expand Down Expand Up @@ -61,7 +67,7 @@ jobs:

runs-on: ${{ matrix.os }}

name: Build on ${{matrix.os}} for ${{ matrix.label }}
name: Build on ${{matrix.os}} for ${{ matrix.label }} ${{ matrix.workspace-loader }} ${{ matrix.use-transparent-compiler }}

steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -102,11 +108,13 @@ jobs:
BuildNet8: ${{ matrix.build_net8 }}

- name: Run and report tests
run: dotnet test -c Release -f ${{ matrix.test_tfm }} --no-restore --no-build --no-build --logger GitHubActions /p:AltCover=true /p:AltCoverAssemblyExcludeFilter="System.Reactive|FSharp.Compiler.Service|Ionide.ProjInfo|FSharp.Analyzers|Analyzer|Humanizer|FSharp.Core|FSharp.DependencyManager" -- Expecto.fail-on-focused-tests=true --blame-hang --blame-hang-timeout 1m
run: dotnet test -c Release -f ${{ matrix.test_tfm }} --no-restore --no-build --logger "console;verbosity=normal" --logger GitHubActions /p:AltCover=true /p:AltCoverAssemblyExcludeFilter="System.Reactive|FSharp.Compiler.Service|Ionide.ProjInfo|FSharp.Analyzers|Analyzer|Humanizer|FSharp.Core|FSharp.DependencyManager" -- Expecto.fail-on-focused-tests=true --blame-hang --blame-hang-timeout 1m
working-directory: test/FsAutoComplete.Tests.Lsp
env:
BuildNet7: ${{ matrix.build_net7 }}
BuildNet8: ${{ matrix.build_net8 }}
USE_TRANSPARENT_COMPILER: ${{ matrix.use-transparent-compiler }}
USE_WORKSPACE_LOADER: ${{ matrix.workspace-loader }}

analyze:
runs-on: ubuntu-latest
Expand Down
4 changes: 3 additions & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@
<NoWarn>$(NoWarn);3186,0042</NoWarn><!-- circumvent an error with the fake dependencymanager for
paket: https://github.com/dotnet/fsharp/issues/8678 -->
<NoWarn>$(NoWarn);NU1902</NoWarn><!-- NU1902 - package vulnerability detected -->
<WarnOn>$(WarnOn);1182</WarnOn> <!-- Unused
<NoWarn>$(NoWarn);57</NoWarn> <!-- Enable experimental compiler features -->
<WarnOn Condition="'$(Configuration)' != 'Debug'">$(WarnOn);1182</WarnOn> <!-- Unused
variables,https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/compiler-options#opt-in-warnings -->

<WarnOn>$(WarnOn);3390</WarnOn><!-- Malformed XML doc comments -->
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<ChangelogFile>$(MSBuildThisFileDirectory)CHANGELOG.md</ChangelogFile>
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ To export traces, run [Jaeger](https://www.jaegertracing.io/)

```bash
docker run -d --name jaeger \
-e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \
-e COLLECTOR_ZIPKIN_HOST_PORT=9411 \
-e COLLECTOR_OTLP_ENABLED=true \
-p 6831:6831/udp \
-p 6832:6832/udp \
Expand Down
4 changes: 2 additions & 2 deletions global.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"sdk": {
"version": "7.0.400",
"rollForward": "major",
"rollForward": "latestMajor",
"allowPrerelease": true
}
}
}
Loading

0 comments on commit c5a5812

Please sign in to comment.