Skip to content

Commit 4230f5b

Browse files
Merge pull request #971 from erikdarlingdata/dev
Skip build/test/publish for documentation-only PRs
2 parents 6877335 + 4b36847 commit 4230f5b

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

.github/workflows/build.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,24 @@ jobs:
4444
- 'Installer.Tests/**'
4545
- 'install/**'
4646
- 'upgrades/**'
47+
# True when any non-documentation file changed. Documentation-only
48+
# changes (e.g. a CHANGELOG or README edit) skip the build/test/
49+
# publish steps below — there is nothing to compile. The job still
50+
# runs so the required 'build' check reports a result.
51+
code:
52+
- '**'
53+
- '!**/*.md'
4754
4855
- name: Setup .NET 10.0
56+
if: steps.filter.outputs.code != 'false'
4957
uses: actions/setup-dotnet@v5
5058
with:
5159
dotnet-version: 10.0.x
5260
cache: true
5361
cache-dependency-path: '**/packages.lock.json'
5462

5563
- name: Restore dependencies
64+
if: steps.filter.outputs.code != 'false'
5665
run: |
5766
dotnet restore Dashboard/Dashboard.csproj --locked-mode
5867
dotnet restore Lite/PerformanceMonitorLite.csproj --locked-mode
@@ -61,12 +70,15 @@ jobs:
6170
dotnet restore Installer.Tests/Installer.Tests.csproj --locked-mode
6271
6372
- name: Build Lite.Tests
73+
if: steps.filter.outputs.code != 'false'
6474
run: dotnet build Lite.Tests/Lite.Tests.csproj -c Release --no-restore
6575

6676
- name: Build Installer.Tests
77+
if: steps.filter.outputs.code != 'false'
6778
run: dotnet build Installer.Tests/Installer.Tests.csproj -c Release --no-restore
6879

6980
- name: Run Lite fast tests
81+
if: steps.filter.outputs.code != 'false'
7082
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"
7183

7284
- name: Run Lite analysis-heavy tests
@@ -78,27 +90,31 @@ jobs:
7890
run: dotnet test Installer.Tests/Installer.Tests.csproj -c Release --no-build --verbosity normal --filter "FullyQualifiedName!~VersionDetectionTests&FullyQualifiedName!~IdempotencyTests&FullyQualifiedName!~AdversarialTests"
7991

8092
- name: Get version
93+
if: steps.filter.outputs.code != 'false'
8194
id: version
8295
shell: pwsh
8396
run: |
8497
$version = ([xml](Get-Content Dashboard/Dashboard.csproj)).Project.PropertyGroup.Version | Where-Object { $_ }
8598
echo "VERSION=$version" >> $env:GITHUB_OUTPUT
8699
87100
- name: Publish Dashboard
101+
if: steps.filter.outputs.code != 'false'
88102
run: dotnet publish Dashboard/Dashboard.csproj -c Release -o publish/Dashboard
89103

90104
- name: Publish Dashboard (self-contained for Velopack)
91105
if: github.event_name == 'release'
92106
run: dotnet publish Dashboard/Dashboard.csproj -c Release -r win-x64 --self-contained -o publish/Dashboard-velopack
93107

94108
- name: Publish Lite
109+
if: steps.filter.outputs.code != 'false'
95110
run: dotnet publish Lite/PerformanceMonitorLite.csproj -c Release -o publish/Lite
96111

97112
- name: Publish Lite (self-contained for Velopack)
98113
if: github.event_name == 'release'
99114
run: dotnet publish Lite/PerformanceMonitorLite.csproj -c Release -r win-x64 --self-contained -o publish/Lite-velopack
100115

101116
- name: Publish CLI Installer
117+
if: steps.filter.outputs.code != 'false'
102118
run: dotnet publish Installer/PerformanceMonitorInstaller.csproj -c Release
103119

104120
- name: Package release artifacts

0 commit comments

Comments
 (0)