@@ -18,15 +18,15 @@ jobs:
1818 env :
1919 TEST_TIMEOUT_MINUTES : 40
2020 FSAC_TEST_DEFAULT_TIMEOUT : 120000 # ms, individual test timeouts
21- DOTNET_ROLL_FORWARD_TO_PRERELEASE : 1 # needed to allow .NET 8 RCs to participate in rollforward as expected.
21+ DOTNET_ROLL_FORWARD_TO_PRERELEASE : 1 # needed to allow .NET RCs to participate in rollforward as expected.
2222 timeout-minutes : 40 # we have a locking issue, so cap the runs at ~20m to account for varying build times, etc
2323 strategy :
2424 matrix :
2525 os :
2626 - windows-latest
2727 - macos-13 # using 13 because it's a bigger machine, and latest is still pointing to 12
2828 - ubuntu-latest
29- dotnet-version : ["", "6 .0.x", "7.0.x", "8 .0.x"]
29+ dotnet-version : ["8 .0.x", "9 .0.x"]
3030 use-transparent-compiler :
3131 - " TransparentCompiler"
3232 - " BackgroundCompiler"
@@ -35,34 +35,20 @@ jobs:
3535 # - "ProjectGraph" # this is disable because it just adds too much time to the build
3636 # these entries will mesh with the above combinations
3737 include :
38- # just use what's in the repo
39- - global-json-file : " global.json"
40- dotnet-version : " "
41- include-prerelease : false
42- label : " repo global.json"
43- build_net7 : false
44- test_tfm : net6.0
45- # latest 6.0
46- - global-json-file : " global.json"
47- dotnet-version : " 6.0.x"
48- include-prerelease : false
49- label : " 6.0"
50- build_net7 : false
51- test_tfm : net6.0
52- # latest 7.0
53- - global-json-file : " global.json"
54- dotnet-version : " 7.0.x"
55- include-prerelease : true
56- label : " 7.0"
57- build_net7 : true
58- test_tfm : net7.0
5938 # latest 8.0
6039 - global-json-file : " global.json"
6140 dotnet-version : " 8.0.x"
62- include-prerelease : true
41+ include-prerelease : false
6342 label : " 8.0"
64- build_net8 : true
43+ build_net9 : false
6544 test_tfm : net8.0
45+ # latest 9.0
46+ - global-json-file : " global.json"
47+ dotnet-version : " 9.0.x"
48+ include-prerelease : true
49+ label : " 9.0"
50+ build_net9 : true
51+ test_tfm : net9.0
6652 fail-fast : false # we have timing issues on some OS, so we want them all to run
6753
6854 runs-on : ${{ matrix.os }}
@@ -78,16 +64,18 @@ jobs:
7864
7965 # setup .NET per test session
8066 - name : Setup .NET
67+ id : setup-dotnet
8168 uses : actions/setup-dotnet@v3
8269 with :
83- include-prerelease : ${{ matrix.include-prerelease }}
84- global-json-file : ${{ matrix.global-json-file }}
8570 dotnet-version : ${{ matrix.dotnet-version }}
8671
8772 # remove global.json so that the env configuration takes precedence
8873 - name : Purge global.json
8974 run : rm global.json
9075
76+ - name : Create global.json
77+ run : dotnet new globaljson --sdk-version '${{ steps.setup-dotnet.outputs.dotnet-version }}' --roll-forward latestMinor
78+
9179 # let's make sure we're on the version we think we are.
9280 - name : Announce .NET version
9381 run : dotnet --info
9684 run : dotnet tool restore
9785
9886 - name : Check format
87+ continue-on-error : true
9988 run : dotnet fantomas --check build.fsx src
10089 env :
10190 DOTNET_ROLL_FORWARD : LatestMajor
@@ -108,15 +97,13 @@ jobs:
10897 - name : Run Build
10998 run : dotnet build -c Release
11099 env :
111- BuildNet7 : ${{ matrix.build_net7 }}
112- BuildNet8 : ${{ matrix.build_net8 }}
100+ BuildNet9 : ${{ matrix.build_net9 }}
113101
114102 - name : Run and report tests
115103 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
116104 working-directory : test/FsAutoComplete.Tests.Lsp
117105 env :
118- BuildNet7 : ${{ matrix.build_net7 }}
119- BuildNet8 : ${{ matrix.build_net8 }}
106+ BuildNet9 : ${{ matrix.build_net9 }}
120107 USE_TRANSPARENT_COMPILER : ${{ matrix.use-transparent-compiler }}
121108 USE_WORKSPACE_LOADER : ${{ matrix.workspace-loader }}
122109
@@ -133,7 +120,7 @@ jobs:
133120 run : dotnet tool restore
134121
135122 - name : Run analyzers
136- run : dotnet build -t:AnalyzeSolution -p:TargetFramework=net6 .0
123+ run : dotnet build -t:AnalyzeSolution -p:TargetFramework=net8 .0
137124
138125 - name : Upload SARIF file
139126 uses : github/codeql-action/upload-sarif@v2
0 commit comments