-
Notifications
You must be signed in to change notification settings - Fork 55
60 lines (49 loc) · 1.87 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
name: "build-test"
on: [pull_request]
jobs:
test-backend:
runs-on: ${{ matrix.image }}
strategy:
matrix:
image: [windows-latest]
env:
NUGET_PACKAGES: ${{ github.workspace }}/.github/nuget-packages
GRADLE_USER_HOME: ${{ github.workspace }}/.github/gradle
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
steps:
- uses: actions/checkout@v2
- name: Gradle Wrapper Cache
uses: actions/cache@v1.1.0
with:
path: ${{ env.GRADLE_USER_HOME }}/wrapper
key: ${{ runner.os }}.gradle-wrapper.${{ hashFiles('rider-fsharp/gradle/**') }}
- name: Gradle Wrapper Validation
uses: gradle/wrapper-validation-action@v1.0.3
- name: NuGet Cache
uses: actions/cache@v1.1.0
with:
path: ${{ env.NUGET_PACKAGES }}
key: ${{ runner.os }}.nuget.${{ hashFiles('ReSharper.FSharp/**/*proj') }}+${{ hashFiles('ReSharper.FSharp/**/*.targets') }}
- name: Gradlew Prepare
working-directory: ./rider-fsharp
run: ./gradlew prepare
- name: Set up .NET SDK
uses: actions/setup-dotnet@v2
with:
global-json-file: ReSharper.FSharp/global.json
- name: Add MSBuild to PATH # for tests
uses: microsoft/setup-msbuild@v1.0.2
- name: Build ReSharper.FSharp
working-directory: ./ReSharper.FSharp
run: dotnet build -p:RunningOnGitHubActions=true
- name: Test ReSharper.FSharp
working-directory: ./ReSharper.FSharp
run: dotnet test --no-build -m:1 ReSharper.FSharp.sln
- name: Build Plugin Frontend
working-directory: ./rider-fsharp
if: ${{ success() }} || ${{ failure() }}
run: ./gradlew buildPlugin
- name: Stop Gradle Daemon # to collect Gradle cache
working-directory: ./rider-fsharp
run: ./gradlew --stop