Skip to content

Net9 version

Net9 version #2389

Workflow file for this run

name: Build and test
on:
push:
branches:
- main
- nightly
paths-ignore:
- ".github"
- ".vscode"
pull_request:
paths-ignore:
- ".github"
- ".vscode"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# let's make sure we're on the version we think we are.
- name: Announce .NET version
run: dotnet --info
# only need global.json from code to build
- name: Setup .NET
uses: actions/setup-dotnet@v4
- name: Restore tools
run: dotnet tool restore
- name: Check format
run: dotnet fantomas --check build.fsx src
env:
DOTNET_ROLL_FORWARD: LatestMajor
DOTNET_ROLL_FORWARD_TO_PRERELEASE: 1
- name: Run Build
run: dotnet build -c Release
- uses: actions/upload-artifact@v2
with:
name: compiled-tests
path: test/FsAutoComplete.Tests.Lsp/bin/Release
test:
name: Test app on ${{ matrix.test_os }} with .NET ${{ matrix.dotnet_versions }}(Transparent=${{ matrix.use-transparent-compiler }}, Loader=${{ matrix.workspace-loader }})
env:
TEST_TIMEOUT_MINUTES: 40
FSAC_TEST_DEFAULT_TIMEOUT : 120000 #ms, individual test timeouts
DOTNET_ROLL_FORWARD_TO_PRERELEASE: 1 # needed to allow .NET 8 RCs to participate in rollforward as expected.
timeout-minutes: 40 # we have a locking issue, so cap the runs at ~20m to account for varying build times, etc
strategy:
matrix:
test_os:
- windows-latest
- macos-13 # using 13 because it's a bigger machine, and latest is still pointing to 12
- ubuntu-latest
use-transparent-compiler:
- "TransparentCompiler"
- "BackgroundCompiler"
workspace-loader:
- "WorkspaceLoader"
dotnet_versions:
- '6.0'
- '8.0'
- '9.0'
fail-fast: false # we have timing issues on some OS, so we want them all to run
needs: build
runs-on: ${{ matrix.test_os }}
steps:
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0
8.0
9.0
- name: Download code
uses: actions/checkout@v3
- name: Copy compiled tests
uses: actions/download-artifact@v4
with:
name: compiled-tests
path: ./test/FsAutoComplete.Tests.Lsp/bin/Release
- name: Run and report tests
run: dotnet test bin/Release/net${{ matrix.dotnet_versions }}/FsAutoComplete.Tests.Lsp.dll --logger "console;verbosity=normal" --blame-hang --blame-hang-timeout 1m --logger GitHubActions -- Expecto.fail-on-focused-tests=true
working-directory: test/FsAutoComplete.Tests.Lsp
env:
USE_TRANSPARENT_COMPILER: ${{ matrix.use-transparent-compiler }}
USE_WORKSPACE_LOADER: ${{ matrix.workspace-loader }}
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
- name: Restore tools
run: dotnet tool restore
- name: Run analyzers
run: dotnet build -t:AnalyzeSolution -p:TargetFramework=net6.0
- name: Upload SARIF file
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: analysisreports