1
name: Garnet Nightly Tests
4
- cron: '0 7 * * *' # Runs at 07:00 UTC, which is 11:00 PM PST
8
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
14
runs-on: ${{ matrix.os }}
18
os: [ ubuntu-22.04, ubuntu-20.04, windows-2022, windows-2019 ]
19
framework: [ 'net6.0', 'net8.0' ]
20
configuration: [ 'Debug', 'Release' ]
21
test: [ 'Garnet.test', 'Garnet.test.cluster' ]
23
- name: Check out code
24
uses: actions/checkout@v4
26
uses: actions/setup-dotnet@v4
29
- name: Install dependencies
31
- name: Check style format
32
run: dotnet format --verify-no-changes --verbosity diagnostic
34
run: dotnet build --configuration ${{ matrix.configuration }}
35
- name: Run tests ${{ matrix.test }}
36
run: dotnet test test/${{ matrix.test }} -f ${{ matrix.framework }} --logger "console;verbosity=detailed" --logger trx --results-directory "GarnetTestResults-${{ matrix.os }}-${{ matrix.framework }}-${{ matrix.configuration }}-${{ matrix.test }}"
38
- name: Upload test results
39
uses: actions/upload-artifact@v4
41
name: dotnet-garnet-results-${{ matrix.os }}-${{ matrix.framework }}-${{ matrix.configuration }}-${{ matrix.test }}
42
path: GarnetTestResults-${{ matrix.os }}-${{ matrix.framework }}-${{ matrix.configuration }}-${{ matrix.test }}
45
# Job to build and test Tsavorite code
48
runs-on: ${{ matrix.os }}
52
os: [ ubuntu-22.04, ubuntu-20.04, windows-2022, windows-2019 ]
53
framework: [ 'net6.0', 'net8.0' ]
54
configuration: [ 'Debug', 'Release' ]
56
- name: Check out code
57
uses: actions/checkout@v4
58
- name: Set environment variable for Linux
59
run: echo "RunAzureTests=yes" >> $GITHUB_ENV
60
if: ${{ matrix.os == 'ubuntu-latest' }}
61
- name: Set environment variable for Windows
62
run: echo ("RunAzureTests=yes") >> $env:GITHUB_ENV
63
if: ${{ matrix.os == 'windows-latest' }}
65
uses: actions/setup-dotnet@v4
68
- name: Setup Node.js for Azurite
69
uses: actions/setup-node@v4
72
- name: Install and Run Azurite
75
npm install -g azurite
77
- name: Install dependencies
80
run: dotnet format --verify-no-changes --verbosity diagnostic
81
- name: Build Tsavorite
82
run: dotnet build libs/storage/Tsavorite/cs/test/Tsavorite.test.csproj --configuration ${{ matrix.configuration }}
83
- name: Run Tsavorite tests
84
run: dotnet test libs/storage/Tsavorite/cs/test/Tsavorite.test.csproj -f ${{ matrix.framework }} --logger "console;verbosity=detailed" --logger trx --results-directory "TsavoriteTestResults-${{ matrix.os }}-${{ matrix.framework }}-${{ matrix.configuration }}"
86
- name: Upload test results
87
uses: actions/upload-artifact@v4
89
name: dotnet-tsavorite-results-${{ matrix.os }}-${{ matrix.framework }}-${{ matrix.configuration }}
90
path: TsavoriteTestResults-${{ matrix.os }}-${{ matrix.framework }}-${{ matrix.configuration }}
94
name: Garnet Nightly (Complete)
95
runs-on: ubuntu-latest
96
needs: [ build-test-garnet, build-test-tsavorite ]
99
if: ${{ !(failure() || cancelled()) }}