Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
31b4e44
Scripts running successfully on local machine. Next step is to get th…
darrenge Sep 23, 2025
633ccf9
First attempt at running things in a github action nightly run - usin…
darrenge Sep 24, 2025
062911d
Merge branch 'main' into darrenge/AllureReports
darrenge Sep 24, 2025
03b81c8
Changed how allure being installed
darrenge Sep 24, 2025
1c8e081
Added Allure to path
darrenge Sep 24, 2025
a238546
Path issue ...
darrenge Sep 24, 2025
a2a29d0
Had test data in wrong spot so wasn't checkd in
darrenge Sep 24, 2025
41f5a53
Fix the final stage
darrenge Sep 24, 2025
cc314f8
Fixed some paths that had collisions
darrenge Sep 25, 2025
1ff81db
Fixing another path collision
darrenge Sep 25, 2025
5b7abfb
Updated pipeline-success at the end as
darrenge Sep 25, 2025
dc5d9dc
case sensitive issue with running script
darrenge Sep 25, 2025
d29145d
Add debug code
darrenge Sep 25, 2025
9ddca67
Need add check out
darrenge Sep 25, 2025
3ddd6e0
Updated how Allure report generation is called
darrenge Sep 25, 2025
b5248b1
Need to install Alure in the final step areas as well
darrenge Sep 25, 2025
c48e607
Remove part about saving history and also don't run tests as not need…
darrenge Sep 25, 2025
1789f84
Move results
darrenge Sep 26, 2025
868a38f
Fixing path issue
darrenge Sep 26, 2025
6f695f8
Getting results in couple configs of tests ... bump up matrix by addi…
darrenge Sep 26, 2025
1851f9a
Full matrix
darrenge Sep 26, 2025
c51b1b6
Adding Allure CLI install to work on Linux too
darrenge Sep 29, 2025
fcd27ce
Trying debug while allure not installing on linux
darrenge Sep 29, 2025
035bb5f
More debugging
darrenge Sep 29, 2025
c8b24ad
More debugging
darrenge Sep 29, 2025
798d9ae
More debugging
darrenge Sep 29, 2025
037ab83
Install Allure CLI should work now
darrenge Sep 29, 2025
2482d53
Fix the Copy of Mock data on linux
darrenge Sep 29, 2025
688772b
More changes to work on linux
darrenge Sep 29, 2025
4f22e4c
Fixed upload artifacts call
darrenge Sep 29, 2025
1b5c8c1
fixed a bug in the upload results
darrenge Sep 29, 2025
dc248c0
Fix call to GenerateAllureReport in final stages
darrenge Sep 29, 2025
2768d30
Fixed so will retain history ... not actually pushing to repo though …
darrenge Sep 29, 2025
127cb17
First step of merging Tsav into other tests so all in one matrix - re…
darrenge Sep 30, 2025
e04e2b1
second phase ... Getting them merged into one more so -
darrenge Sep 30, 2025
240e959
Fixed build of Garnet and Garnet cluster
darrenge Oct 1, 2025
eebd5e1
Fixed bug and added debug info
darrenge Oct 1, 2025
97affd6
Bug fix
darrenge Oct 1, 2025
89d16ef
Set it so does everything from build and run tests.
darrenge Oct 1, 2025
bbd0421
Cleaned up old code not used any more and made it so all Allure tasks…
darrenge Oct 3, 2025
745c4ad
Set the final job to always run even if previous job fails
darrenge Oct 3, 2025
4fae764
Merge branch 'main' into darrenge/AllureReports
darrenge Oct 9, 2025
d3a196d
Removed the test data
darrenge Oct 10, 2025
5ac5a31
Trying to get Allure nuget incorporated ... build issues
darrenge Oct 17, 2025
8ac924d
Minor change
darrenge Oct 17, 2025
784ea84
Upgraded Allure to 2.14 and set <AspectInjector_Enabled>false</Aspect…
darrenge Oct 20, 2025
0b8d0c6
Updated all the project files so AspectInjector is disabled
darrenge Oct 20, 2025
2fb7b37
Got latest update of Allure which fixes their bug. So, can remove the…
darrenge Oct 21, 2025
4ffdf25
Added Allure to ObjectTestForOuptut tests as initial try
darrenge Oct 22, 2025
05a43b9
Removed style check for now
darrenge Oct 22, 2025
538d227
Had to add disable the Inspector nuget package for Allure since it ca…
darrenge Oct 22, 2025
264ebca
Added the AllureSetup to Garnet.Test (in AllureUtils.cs). Added Allu…
darrenge Oct 28, 2025
78034bf
Merge branch 'main' into darrenge/AllureReports
darrenge Oct 28, 2025
fc83308
Merged main into branch and update Garnet.Tests to use AllureTestBase…
darrenge Oct 28, 2025
6f51e67
Removed the timestamp from suite name
darrenge Oct 29, 2025
b67bba7
Just making suite name with date instead of full time stamp
darrenge Oct 29, 2025
12ec40d
Added Allure to Tsav tests
darrenge Oct 30, 2025
0bbc737
Made it so Tsav tests can just link to AllureUtils.cs in Garnet.test …
darrenge Oct 31, 2025
35bb747
Updated Tsav Test to skip AspectInjector nuget package so it can be r…
darrenge Oct 31, 2025
94be950
Minor text change
darrenge Nov 3, 2025
90e9e1d
Added Tsav to GetData
darrenge Nov 3, 2025
647ff49
Starting the early stages of saving off history
darrenge Nov 10, 2025
ff73d95
Minor change
darrenge Nov 18, 2025
f6290b5
Merged main
darrenge Nov 19, 2025
ff4c2b4
Fixed merge conflict in Directory.Packages.props
darrenge Nov 19, 2025
2204ca2
Setting Check Style Format to show as pass always -- need to fix form…
darrenge Nov 19, 2025
da1533a
Adding yml code to preserve the history between runs
darrenge Nov 24, 2025
0a07d08
Some error handling on download history call
darrenge Nov 24, 2025
1145eb1
Trying to preserve history by committing to allure_data_history branch
darrenge Nov 24, 2025
4e73664
Perms issues when pushing History to branch
darrenge Nov 24, 2025
1189e0c
Bug in the part that gets history saved from branch
darrenge Nov 25, 2025
e925d46
Fixed bug ... not sure fixes other issues
darrenge Nov 25, 2025
03eef3f
Minor change
darrenge Nov 25, 2025
92ef6fb
Clean up debugging
darrenge Nov 25, 2025
7ce7e68
Debugging the copy of previous history
darrenge Nov 26, 2025
4252179
Hoping this fixes the copy from previous history.
darrenge Nov 26, 2025
a837eab
Debuggin the copy prev results
darrenge Nov 26, 2025
dd9a419
Debugging copy from branch
darrenge Nov 26, 2025
7511368
More debugging
darrenge Nov 26, 2025
2c399f1
More debugging
darrenge Nov 26, 2025
3876d8e
Might have it ...
darrenge Nov 26, 2025
51cb0d0
Cleaning up debug info
darrenge Nov 26, 2025
985a0d9
History is working. Move report to GH Website location so front page …
darrenge Nov 26, 2025
46743b6
Adding full test matrix to it now -- see how history handles it
darrenge Nov 27, 2025
e0e9a62
Making it work for Tsavorite
darrenge Dec 1, 2025
c99ab2c
Fixed bug in output
darrenge Dec 1, 2025
0a187fb
Fixed Tsav nightly bug AND also updated readme.md so that there is an…
darrenge Dec 1, 2025
22ea6fa
Merge branch 'main' into darrenge/AllureReports
darrenge Dec 1, 2025
3115a00
Tsav working in Allure now ... running cluster to make sure all those…
darrenge Dec 2, 2025
7caca75
Cluster seems to run ok ... now full matrix
darrenge Dec 2, 2025
6823ab3
Comment out uploading Allure test results to artifacts as hitting upp…
darrenge Dec 2, 2025
66efbd9
Just Tsav tests to test history
darrenge Dec 2, 2025
e3f67a9
Fixed Format issues
darrenge Dec 2, 2025
8fe9023
Fix format issues with Tsav tests
darrenge Dec 2, 2025
ff882e5
Changing naming method for Allure tests.
darrenge Dec 2, 2025
304995b
Reduce down to just ubuntu ... debugging name. Maybe caused when rem…
darrenge Dec 3, 2025
66544ba
Trying bigger matrix in hopes not overloading Upload Allure Results t…
darrenge Dec 3, 2025
d092702
increase matrxi to see if won't hit max
darrenge Dec 3, 2025
99789e0
Set OS to Latest instead of specify all OS
darrenge Dec 3, 2025
6b32912
Merge branch 'main' into darrenge/AllureReports
darrenge Dec 4, 2025
894b7fe
Updated so Garnet.test and Garnet.test.cluster tests inherit the Allu…
darrenge Dec 5, 2025
7e070f6
Added Allure to ClusterSlotVerificationTests
darrenge Dec 11, 2025
4c95eb3
Update from Main
darrenge Dec 12, 2025
e888e2b
Mistake in merge conflict with nuget packages in cluster tests. Fixed
darrenge Dec 12, 2025
d86b2da
Need to set:
darrenge Dec 12, 2025
796f831
Fixed a couple environmental fixes that were related to looking for s…
darrenge Dec 12, 2025
d94450b
Fixed bug in reporting
darrenge Dec 12, 2025
f08e2fe
Removing History ID as that way had it in past
darrenge Dec 13, 2025
701652d
Wasn't cleaning up raw test results so the reporting was counting it …
darrenge Dec 15, 2025
8121fe2
More clean up tasks to avoid duplicates
darrenge Dec 15, 2025
2c34d94
Another debug task added
darrenge Dec 15, 2025
0d83fa7
Reduce test matrix for debugging ... add a generic clean up
darrenge Dec 15, 2025
a201277
Removed history part to help with debugging
darrenge Dec 15, 2025
f42a6a9
Updated Tsavorite tests to work with ALlure
darrenge Dec 15, 2025
51da97d
Should be last of Tsavorite test changes
darrenge Dec 16, 2025
76bb87d
Changing back to full run. Updated Garnet.tests to work with Allure.
darrenge Dec 16, 2025
37a56c0
First try at seeing if the CI can pick up if a test is not wired for …
darrenge Dec 17, 2025
6d0e834
Fixed a bug in the path in ci
darrenge Dec 17, 2025
ed6838a
Another try at CI check for Allure
darrenge Dec 17, 2025
8534f51
Failing on .net90 because tries to load them
darrenge Dec 17, 2025
39947cf
Bug in Tsav on net90 Ubuntu
darrenge Dec 18, 2025
2c4878e
Removed Allure wiring on one cluster, tsav and garnet test to make su…
darrenge Dec 18, 2025
da2a732
Hopefully fixed duplicate entry issue in Allure
darrenge Dec 18, 2025
4d173e8
Added Allure base class back on some tests
darrenge Dec 18, 2025
081dd06
Another try at fixing duplicates
darrenge Dec 18, 2025
d63a77e
Added history back in
darrenge Dec 18, 2025
106f121
Merge branch 'main' into darrenge/AllureReports
darrenge Dec 18, 2025
644744d
Added what is required for all unit tests to be allure enabled
darrenge Dec 18, 2025
2015008
Trying if putting AllureUnit fixture on baseclass is enough instead o…
darrenge Dec 19, 2025
c988665
formatting error
darrenge Dec 19, 2025
a35f4ea
Putting back the try and keep way it is
darrenge Dec 19, 2025
64206ad
Fixed Tsav tests that wasn't configured for Allure properly. Removed …
darrenge Dec 19, 2025
5e8c648
Merge branch 'main' into darrenge/AllureReports
darrenge Dec 19, 2025
f7770bd
Removed a file that is no longer used
darrenge Dec 19, 2025
c89022e
Fixes to what CoPilot said needed to change
darrenge Dec 19, 2025
1a2beed
Merge branch 'main' into darrenge/AllureReports
darrenge Jan 5, 2026
347bc17
Merge branch 'main' into darrenge/AllureReports
darrenge Jan 5, 2026
664502d
Updated branch using main branch
darrenge Jan 12, 2026
7302d35
Merge branch 'main' into darrenge/AllureReports
darrenge Jan 13, 2026
2c8ba1b
Changes to fix PR review Comments
darrenge Jan 15, 2026
f0c649f
Merge branch 'main' into darrenge/AllureReports
darrenge Jan 15, 2026
4b2a0d1
A few fixes from CoPilot review
darrenge Jan 15, 2026
4bffdd7
Cleaned up error handling
darrenge Jan 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 98 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,56 @@ jobs:
run: dotnet restore
- name: Build Garnet
run: dotnet build --configuration ${{ matrix.configuration }}

- name: Verify Allure wiring (${{ matrix.test }})
shell: pwsh
run: |
$asmPath = "${{ github.workspace }}/test/${{ matrix.test }}/bin/${{ matrix.configuration }}/${{ matrix.framework }}/${{ matrix.test }}.dll"
$asm = [System.Reflection.Assembly]::LoadFrom($asmPath)

# When using .Net 9.0 it tries to resolve every referenced type in that assembly and some dependencies are missing by design so pops exception.
# Since we don't want to fail on every 9.0 run (even when has Allure inheritance), we catch it here.
try {
$types = $asm.GetTypes()
} catch [System.Reflection.ReflectionTypeLoadException] {
# Keep only successfully loaded types, skip nulls
$types = $_.Exception.Types | Where-Object { $_ -ne $null }
}
$allureBase = $types | Where-Object { $_.Name -eq "AllureTestBase" }

$bad = @()
foreach ($t in $types) {
# Detect NUnit test fixtures by attribute names
$isFixture = $t.GetCustomAttributes($true) |
Where-Object { $_.GetType().FullName -eq "NUnit.Framework.TestFixtureAttribute" } |
Measure-Object | Select-Object -ExpandProperty Count
if ($isFixture -eq 0) {
$isFixture = $t.GetMethods() |
ForEach-Object { $_.GetCustomAttributes($true) } |
Where-Object { $_.GetType().FullName -eq "NUnit.Framework.TestAttribute" } |
Measure-Object | Select-Object -ExpandProperty Count
}

if ($isFixture -gt 0) {
$inheritsAllure = $allureBase -and $allureBase.IsAssignableFrom($t)
$hasAttr = $t.GetCustomAttributes($true) |
Where-Object { $_.GetType().FullName -eq "Allure.NUnit.AllureNUnitAttribute" } |
Measure-Object | Select-Object -ExpandProperty Count

if (-not $inheritsAllure -or $hasAttr -eq 0) {
$bad += $t.FullName
}
}
}

if ($bad.Count -gt 0) {
Write-Host "These test fixtures are missing Allure setup from $asmPath. See Pull Request Protocol for details on how to set up Allure for new tests. https://microsoft.github.io/garnet/docs/dev/onboarding"
$bad | ForEach-Object { Write-Host $_ }
exit 1
} else {
Write-Host "All test fixtures wired to Allure in $asmPath"
}

- name: Run tests ${{ matrix.test }}
run: dotnet test test/${{ matrix.test }} -f ${{ matrix.framework }} --configuration ${{ matrix.configuration }} --logger "console;verbosity=detailed" --logger trx --results-directory "GarnetTestResults-${{ matrix.os }}-${{ matrix.framework }}-${{ matrix.configuration }}-${{ matrix.test }}" -- NUnit.DisplayName=FullName
timeout-minutes: 45
Expand Down Expand Up @@ -145,6 +195,54 @@ jobs:
run: dotnet restore
- name: Build Tsavorite
run: dotnet build libs/storage/Tsavorite/cs/test/Tsavorite.test.csproj --configuration ${{ matrix.configuration }}

- name: Verify Allure wiring (Tsavorite)
shell: pwsh
run: |
$asmPath = "${{ github.workspace }}/libs/storage/Tsavorite/cs/test/bin/${{ matrix.configuration }}/${{ matrix.framework }}/Tsavorite.test.dll"
$asm = [System.Reflection.Assembly]::LoadFrom($asmPath)

# when using .Net 9.0 it tries to resolve every referenced type in that assembly and some dependencies are missing by design so pops exception (we don't need those anyways)
try {
$types = $asm.GetTypes()
} catch [System.Reflection.ReflectionTypeLoadException] {
$types = $_.Exception.Types | Where-Object { $_ -ne $null }
}
$allureBase = $types | Where-Object { $_.Name -eq "AllureTestBase" }

$bad = @()
foreach ($t in $types) {
# Detect NUnit test fixtures by attribute names
$isFixture = $t.GetCustomAttributes($true) |
Where-Object { $_.GetType().FullName -eq "NUnit.Framework.TestFixtureAttribute" } |
Measure-Object | Select-Object -ExpandProperty Count
if ($isFixture -eq 0) {
$isFixture = $t.GetMethods() |
ForEach-Object { $_.GetCustomAttributes($true) } |
Where-Object { $_.GetType().FullName -eq "NUnit.Framework.TestAttribute" } |
Measure-Object | Select-Object -ExpandProperty Count
}

if ($isFixture -gt 0) {
$inheritsAllure = $allureBase -and $allureBase.IsAssignableFrom($t)
$hasAttr = $t.GetCustomAttributes($true) |
Where-Object { $_.GetType().FullName -eq "Allure.NUnit.AllureNUnitAttribute" } |
Measure-Object | Select-Object -ExpandProperty Count

if (-not $inheritsAllure -or $hasAttr -eq 0) {
$bad += $t.FullName
}
}
}

if ($bad.Count -gt 0) {
Write-Host "These test fixtures are missing Allure setup from $asmPath"
$bad | ForEach-Object { Write-Host $_ }
exit 1
} else {
Write-Host "All test fixtures wired to Allure in $asmPath"
}

- name: Run Tsavorite tests
run: dotnet test libs/storage/Tsavorite/cs/test/Tsavorite.test.csproj -f ${{ matrix.framework }} --configuration ${{ matrix.configuration }} --logger "console;verbosity=detailed" --logger trx --results-directory "TsavoriteTestResults-${{ matrix.os }}-${{ matrix.framework }}-${{ matrix.configuration }}"
timeout-minutes: 45
Expand Down
Loading
Loading