Skip to content

Commit e74ad7a

Browse files
Merge pull request #927 from erikdarlingdata/feature/ci-fast-test-lane
CI: split tests into fast and analysis-heavy lanes
2 parents 62ef9d5 + 0b9c6f1 commit e74ad7a

2 files changed

Lines changed: 565 additions & 2 deletions

File tree

.github/workflows/build.yml

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,26 @@ jobs:
2020
steps:
2121
- uses: actions/checkout@v4
2222

23+
- name: Detect changed paths
24+
id: filter
25+
if: github.event_name != 'release'
26+
uses: dorny/paths-filter@v3
27+
with:
28+
filters: |
29+
lite_analysis:
30+
- 'Lite/Analysis/**'
31+
- 'Lite/Services/**'
32+
- 'Lite/DuckDb/**'
33+
- 'Lite/Models/**'
34+
- 'Lite.Tests/**'
35+
- 'Lite/PerformanceMonitorLite.csproj'
36+
installer:
37+
- 'Installer/**'
38+
- 'Installer.Core/**'
39+
- 'Installer.Tests/**'
40+
- 'install/**'
41+
- 'upgrades/**'
42+
2343
- name: Setup .NET 8.0
2444
uses: actions/setup-dotnet@v4
2545
with:
@@ -33,12 +53,24 @@ jobs:
3353
dotnet restore Lite/PerformanceMonitorLite.csproj --locked-mode
3454
dotnet restore Installer/PerformanceMonitorInstaller.csproj --locked-mode
3555
dotnet restore Lite.Tests/Lite.Tests.csproj --locked-mode
56+
dotnet restore Installer.Tests/Installer.Tests.csproj --locked-mode
3657
3758
- name: Build Lite.Tests
3859
run: dotnet build Lite.Tests/Lite.Tests.csproj -c Release --no-restore
3960

40-
- name: Run Lite tests
41-
run: dotnet test Lite.Tests/Lite.Tests.csproj -c Release --no-build --verbosity normal
61+
- name: Build Installer.Tests
62+
run: dotnet build Installer.Tests/Installer.Tests.csproj -c Release --no-restore
63+
64+
- name: Run Lite fast tests
65+
run: dotnet test Lite.Tests/Lite.Tests.csproj -c Release --no-build --verbosity normal --filter "FullyQualifiedName!~AnomalyDetectorTests&FullyQualifiedName!~FactCollectorTests&FullyQualifiedName!~FactCollectorMiseryTests&FullyQualifiedName!~BaselineProviderTests&FullyQualifiedName!~InferenceEngineTests&FullyQualifiedName!~ScenarioTests&FullyQualifiedName!~AnalysisServiceTests"
66+
67+
- name: Run Lite analysis-heavy tests
68+
if: steps.filter.outputs.lite_analysis == 'true' || github.event_name == 'release'
69+
run: dotnet test Lite.Tests/Lite.Tests.csproj -c Release --no-build --verbosity normal --filter "FullyQualifiedName~AnomalyDetectorTests|FullyQualifiedName~FactCollectorTests|FullyQualifiedName~FactCollectorMiseryTests|FullyQualifiedName~BaselineProviderTests|FullyQualifiedName~InferenceEngineTests|FullyQualifiedName~ScenarioTests|FullyQualifiedName~AnalysisServiceTests"
70+
71+
- name: Run Installer tests
72+
if: steps.filter.outputs.installer == 'true' || github.event_name == 'release'
73+
run: dotnet test Installer.Tests/Installer.Tests.csproj -c Release --no-build --verbosity normal --filter "FullyQualifiedName!~VersionDetectionTests&FullyQualifiedName!~IdempotencyTests&FullyQualifiedName!~AdversarialTests"
4274

4375
- name: Get version
4476
id: version

0 commit comments

Comments
 (0)