From 8b8695f1311036520d2786c43ff5adeb07d83771 Mon Sep 17 00:00:00 2001
From: peterstone2017 <12449837+YunchuWang@users.noreply.github.com>
Date: Wed, 26 Mar 2025 13:54:37 -0700
Subject: [PATCH 1/6] Disable breaking 1es spotbug task and manage it directly
in ci
---
.github/workflows/build-validation.yml | 11 +++++++++
azurefunctions/build.gradle | 33 ++++++++++++++++++++++++++
azurefunctions/spotbugs-exclude.xml | 17 +++++++++++++
azuremanaged/build.gradle | 33 ++++++++++++++++++++++++++
azuremanaged/spotbugs-exclude.xml | 17 +++++++++++++
client/build.gradle | 33 ++++++++++++++++++++++++++
client/spotbugs-exclude.xml | 22 +++++++++++++++++
eng/ci/official-build.yml | 4 +++-
8 files changed, 169 insertions(+), 1 deletion(-)
create mode 100644 azurefunctions/spotbugs-exclude.xml
create mode 100644 azuremanaged/spotbugs-exclude.xml
create mode 100644 client/spotbugs-exclude.xml
diff --git a/.github/workflows/build-validation.yml b/.github/workflows/build-validation.yml
index df14fc6..606c3b3 100644
--- a/.github/workflows/build-validation.yml
+++ b/.github/workflows/build-validation.yml
@@ -44,6 +44,17 @@ jobs:
- name: Build with Gradle
run: ./gradlew build -x test
+ - name: Run SpotBugs
+ run: ./gradlew spotbugsMain spotbugsTest
+ continue-on-error: true
+
+ - name: Upload SpotBugs reports
+ uses: actions/upload-artifact@v4
+ with:
+ name: SpotBugs Reports
+ path: '**/build/reports/spotbugs'
+ if-no-files-found: ignore
+
- name: Run Unit Tests with Gradle
run: |
export JAVA_HOME=$JDK_11
diff --git a/azurefunctions/build.gradle b/azurefunctions/build.gradle
index adde2f4..d415dc3 100644
--- a/azurefunctions/build.gradle
+++ b/azurefunctions/build.gradle
@@ -2,6 +2,7 @@ plugins {
id 'java-library'
id 'maven-publish'
id 'signing'
+ id 'com.github.spotbugs' version '5.2.1'
}
group 'com.microsoft'
@@ -85,3 +86,35 @@ java {
withSourcesJar()
withJavadocJar()
}
+
+spotbugs {
+ toolVersion = '4.9.2'
+ effort = 'max'
+ reportLevel = 'medium'
+ ignoreFailures = true
+ excludeFilter = file('spotbugs-exclude.xml')
+}
+
+spotbugsMain {
+ reports {
+ html {
+ required = true
+ stylesheet = 'fancy-hist.xsl'
+ }
+ xml {
+ required = true
+ }
+ }
+}
+
+spotbugsTest {
+ reports {
+ html {
+ required = true
+ stylesheet = 'fancy-hist.xsl'
+ }
+ xml {
+ required = true
+ }
+ }
+}
diff --git a/azurefunctions/spotbugs-exclude.xml b/azurefunctions/spotbugs-exclude.xml
new file mode 100644
index 0000000..eee5ac0
--- /dev/null
+++ b/azurefunctions/spotbugs-exclude.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/azuremanaged/build.gradle b/azuremanaged/build.gradle
index c5d645b..d90bd37 100644
--- a/azuremanaged/build.gradle
+++ b/azuremanaged/build.gradle
@@ -12,6 +12,7 @@ plugins {
id 'idea'
id 'maven-publish'
id 'signing'
+ id 'com.github.spotbugs' version '5.2.1'
}
archivesBaseName = 'durabletask-azuremanaged'
@@ -114,3 +115,35 @@ java {
withJavadocJar()
}
+spotbugs {
+ toolVersion = '4.9.2'
+ effort = 'max'
+ reportLevel = 'medium'
+ ignoreFailures = true
+ excludeFilter = file('spotbugs-exclude.xml')
+}
+
+spotbugsMain {
+ reports {
+ html {
+ required = true
+ stylesheet = 'fancy-hist.xsl'
+ }
+ xml {
+ required = true
+ }
+ }
+}
+
+spotbugsTest {
+ reports {
+ html {
+ required = true
+ stylesheet = 'fancy-hist.xsl'
+ }
+ xml {
+ required = true
+ }
+ }
+}
+
diff --git a/azuremanaged/spotbugs-exclude.xml b/azuremanaged/spotbugs-exclude.xml
new file mode 100644
index 0000000..eee5ac0
--- /dev/null
+++ b/azuremanaged/spotbugs-exclude.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/client/build.gradle b/client/build.gradle
index 98ff6ad..a26fb1b 100644
--- a/client/build.gradle
+++ b/client/build.gradle
@@ -5,6 +5,7 @@ plugins {
id 'idea'
id 'maven-publish'
id 'signing'
+ id 'com.github.spotbugs' version '5.2.1'
}
group 'com.microsoft'
@@ -180,4 +181,36 @@ publishing {
java {
withSourcesJar()
withJavadocJar()
+}
+
+spotbugs {
+ toolVersion = '4.9.2'
+ effort = 'max'
+ reportLevel = 'medium'
+ ignoreFailures = true
+ excludeFilter = file('spotbugs-exclude.xml')
+}
+
+spotbugsMain {
+ reports {
+ html {
+ required = true
+ stylesheet = 'fancy-hist.xsl'
+ }
+ xml {
+ required = true
+ }
+ }
+}
+
+spotbugsTest {
+ reports {
+ html {
+ required = true
+ stylesheet = 'fancy-hist.xsl'
+ }
+ xml {
+ required = true
+ }
+ }
}
\ No newline at end of file
diff --git a/client/spotbugs-exclude.xml b/client/spotbugs-exclude.xml
new file mode 100644
index 0000000..d3dbb24
--- /dev/null
+++ b/client/spotbugs-exclude.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/eng/ci/official-build.yml b/eng/ci/official-build.yml
index 9e33059..bf4354b 100644
--- a/eng/ci/official-build.yml
+++ b/eng/ci/official-build.yml
@@ -28,7 +28,9 @@ extends:
name: 1es-pool-azfunc
image: 1es-windows-2022
os: windows
-
+ sdl:
+ spotBugs:
+ enabled: false
stages:
- stage: BuildAndSign
dependsOn: []
From fe06a41ba39e9c930a391fe79e91241f7e5203d0 Mon Sep 17 00:00:00 2001
From: peterstone2017 <12449837+YunchuWang@users.noreply.github.com>
Date: Wed, 26 Mar 2025 14:10:12 -0700
Subject: [PATCH 2/6] fail fast
---
.github/workflows/build-validation.yml | 2 +-
azurefunctions/build.gradle | 2 +-
azuremanaged/build.gradle | 2 +-
client/build.gradle | 2 +-
internal/durabletask-protobuf/PROTO_SOURCE_COMMIT_HASH | 2 +-
internal/durabletask-protobuf/protos/orchestrator_service.proto | 1 +
6 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/build-validation.yml b/.github/workflows/build-validation.yml
index 606c3b3..28eeda4 100644
--- a/.github/workflows/build-validation.yml
+++ b/.github/workflows/build-validation.yml
@@ -46,7 +46,7 @@ jobs:
- name: Run SpotBugs
run: ./gradlew spotbugsMain spotbugsTest
- continue-on-error: true
+ continue-on-error: false
- name: Upload SpotBugs reports
uses: actions/upload-artifact@v4
diff --git a/azurefunctions/build.gradle b/azurefunctions/build.gradle
index d415dc3..2a4e41d 100644
--- a/azurefunctions/build.gradle
+++ b/azurefunctions/build.gradle
@@ -91,7 +91,7 @@ spotbugs {
toolVersion = '4.9.2'
effort = 'max'
reportLevel = 'medium'
- ignoreFailures = true
+ ignoreFailures = false
excludeFilter = file('spotbugs-exclude.xml')
}
diff --git a/azuremanaged/build.gradle b/azuremanaged/build.gradle
index d90bd37..bff546d 100644
--- a/azuremanaged/build.gradle
+++ b/azuremanaged/build.gradle
@@ -119,7 +119,7 @@ spotbugs {
toolVersion = '4.9.2'
effort = 'max'
reportLevel = 'medium'
- ignoreFailures = true
+ ignoreFailures = false
excludeFilter = file('spotbugs-exclude.xml')
}
diff --git a/client/build.gradle b/client/build.gradle
index a26fb1b..778821d 100644
--- a/client/build.gradle
+++ b/client/build.gradle
@@ -187,7 +187,7 @@ spotbugs {
toolVersion = '4.9.2'
effort = 'max'
reportLevel = 'medium'
- ignoreFailures = true
+ ignoreFailures = false
excludeFilter = file('spotbugs-exclude.xml')
}
diff --git a/internal/durabletask-protobuf/PROTO_SOURCE_COMMIT_HASH b/internal/durabletask-protobuf/PROTO_SOURCE_COMMIT_HASH
index a08790e..5fe0edd 100644
--- a/internal/durabletask-protobuf/PROTO_SOURCE_COMMIT_HASH
+++ b/internal/durabletask-protobuf/PROTO_SOURCE_COMMIT_HASH
@@ -1 +1 @@
-b1e9c96572a9fa0b81829fe0e976cd39de91877e
\ No newline at end of file
+c85ef11430ff8e10e21105abb545b0803bb86c66
\ No newline at end of file
diff --git a/internal/durabletask-protobuf/protos/orchestrator_service.proto b/internal/durabletask-protobuf/protos/orchestrator_service.proto
index 0f7d822..5dd39cf 100644
--- a/internal/durabletask-protobuf/protos/orchestrator_service.proto
+++ b/internal/durabletask-protobuf/protos/orchestrator_service.proto
@@ -463,6 +463,7 @@ message PurgeInstanceFilter {
message PurgeInstancesResponse {
int32 deletedInstanceCount = 1;
+ google.protobuf.BoolValue isComplete = 2;
}
message CreateTaskHubRequest {
From deaf2f2d5a7695b4286523f459bdb991cb90f342 Mon Sep 17 00:00:00 2001
From: peterstone2017 <12449837+YunchuWang@users.noreply.github.com>
Date: Wed, 26 Mar 2025 14:15:26 -0700
Subject: [PATCH 3/6] report high
---
azurefunctions/build.gradle | 2 +-
azuremanaged/build.gradle | 2 +-
client/build.gradle | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/azurefunctions/build.gradle b/azurefunctions/build.gradle
index 2a4e41d..8ae5442 100644
--- a/azurefunctions/build.gradle
+++ b/azurefunctions/build.gradle
@@ -90,7 +90,7 @@ java {
spotbugs {
toolVersion = '4.9.2'
effort = 'max'
- reportLevel = 'medium'
+ reportLevel = 'high'
ignoreFailures = false
excludeFilter = file('spotbugs-exclude.xml')
}
diff --git a/azuremanaged/build.gradle b/azuremanaged/build.gradle
index bff546d..c4f20ff 100644
--- a/azuremanaged/build.gradle
+++ b/azuremanaged/build.gradle
@@ -118,7 +118,7 @@ java {
spotbugs {
toolVersion = '4.9.2'
effort = 'max'
- reportLevel = 'medium'
+ reportLevel = 'high'
ignoreFailures = false
excludeFilter = file('spotbugs-exclude.xml')
}
diff --git a/client/build.gradle b/client/build.gradle
index 778821d..2eebcc1 100644
--- a/client/build.gradle
+++ b/client/build.gradle
@@ -186,7 +186,7 @@ java {
spotbugs {
toolVersion = '4.9.2'
effort = 'max'
- reportLevel = 'medium'
+ reportLevel = 'high'
ignoreFailures = false
excludeFilter = file('spotbugs-exclude.xml')
}
From 37a74336991afe0325330cfa73840651086e3ee5 Mon Sep 17 00:00:00 2001
From: peterstone2017 <12449837+YunchuWang@users.noreply.github.com>
Date: Wed, 26 Mar 2025 14:10:12 -0700
Subject: [PATCH 4/6] fail fast
---
.github/workflows/build-validation.yml | 2 +-
azurefunctions/build.gradle | 4 ++--
azuremanaged/build.gradle | 4 ++--
client/build.gradle | 4 ++--
internal/durabletask-protobuf/PROTO_SOURCE_COMMIT_HASH | 2 +-
.../durabletask-protobuf/protos/orchestrator_service.proto | 1 +
6 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/build-validation.yml b/.github/workflows/build-validation.yml
index 606c3b3..28eeda4 100644
--- a/.github/workflows/build-validation.yml
+++ b/.github/workflows/build-validation.yml
@@ -46,7 +46,7 @@ jobs:
- name: Run SpotBugs
run: ./gradlew spotbugsMain spotbugsTest
- continue-on-error: true
+ continue-on-error: false
- name: Upload SpotBugs reports
uses: actions/upload-artifact@v4
diff --git a/azurefunctions/build.gradle b/azurefunctions/build.gradle
index d415dc3..8ae5442 100644
--- a/azurefunctions/build.gradle
+++ b/azurefunctions/build.gradle
@@ -90,8 +90,8 @@ java {
spotbugs {
toolVersion = '4.9.2'
effort = 'max'
- reportLevel = 'medium'
- ignoreFailures = true
+ reportLevel = 'high'
+ ignoreFailures = false
excludeFilter = file('spotbugs-exclude.xml')
}
diff --git a/azuremanaged/build.gradle b/azuremanaged/build.gradle
index d90bd37..c4f20ff 100644
--- a/azuremanaged/build.gradle
+++ b/azuremanaged/build.gradle
@@ -118,8 +118,8 @@ java {
spotbugs {
toolVersion = '4.9.2'
effort = 'max'
- reportLevel = 'medium'
- ignoreFailures = true
+ reportLevel = 'high'
+ ignoreFailures = false
excludeFilter = file('spotbugs-exclude.xml')
}
diff --git a/client/build.gradle b/client/build.gradle
index a26fb1b..2eebcc1 100644
--- a/client/build.gradle
+++ b/client/build.gradle
@@ -186,8 +186,8 @@ java {
spotbugs {
toolVersion = '4.9.2'
effort = 'max'
- reportLevel = 'medium'
- ignoreFailures = true
+ reportLevel = 'high'
+ ignoreFailures = false
excludeFilter = file('spotbugs-exclude.xml')
}
diff --git a/internal/durabletask-protobuf/PROTO_SOURCE_COMMIT_HASH b/internal/durabletask-protobuf/PROTO_SOURCE_COMMIT_HASH
index a08790e..5fe0edd 100644
--- a/internal/durabletask-protobuf/PROTO_SOURCE_COMMIT_HASH
+++ b/internal/durabletask-protobuf/PROTO_SOURCE_COMMIT_HASH
@@ -1 +1 @@
-b1e9c96572a9fa0b81829fe0e976cd39de91877e
\ No newline at end of file
+c85ef11430ff8e10e21105abb545b0803bb86c66
\ No newline at end of file
diff --git a/internal/durabletask-protobuf/protos/orchestrator_service.proto b/internal/durabletask-protobuf/protos/orchestrator_service.proto
index 0f7d822..5dd39cf 100644
--- a/internal/durabletask-protobuf/protos/orchestrator_service.proto
+++ b/internal/durabletask-protobuf/protos/orchestrator_service.proto
@@ -463,6 +463,7 @@ message PurgeInstanceFilter {
message PurgeInstancesResponse {
int32 deletedInstanceCount = 1;
+ google.protobuf.BoolValue isComplete = 2;
}
message CreateTaskHubRequest {
From 4bcbf28f2ce53959d9c979861e078b58f0cafb20 Mon Sep 17 00:00:00 2001
From: peterstone2017 <12449837+YunchuWang@users.noreply.github.com>
Date: Wed, 26 Mar 2025 14:21:05 -0700
Subject: [PATCH 5/6] Revert "fail fast"
This reverts commit 37a74336991afe0325330cfa73840651086e3ee5.
---
.github/workflows/build-validation.yml | 2 +-
azurefunctions/build.gradle | 4 ++--
azuremanaged/build.gradle | 4 ++--
client/build.gradle | 4 ++--
internal/durabletask-protobuf/PROTO_SOURCE_COMMIT_HASH | 2 +-
.../durabletask-protobuf/protos/orchestrator_service.proto | 1 -
6 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/.github/workflows/build-validation.yml b/.github/workflows/build-validation.yml
index 28eeda4..606c3b3 100644
--- a/.github/workflows/build-validation.yml
+++ b/.github/workflows/build-validation.yml
@@ -46,7 +46,7 @@ jobs:
- name: Run SpotBugs
run: ./gradlew spotbugsMain spotbugsTest
- continue-on-error: false
+ continue-on-error: true
- name: Upload SpotBugs reports
uses: actions/upload-artifact@v4
diff --git a/azurefunctions/build.gradle b/azurefunctions/build.gradle
index 8ae5442..d415dc3 100644
--- a/azurefunctions/build.gradle
+++ b/azurefunctions/build.gradle
@@ -90,8 +90,8 @@ java {
spotbugs {
toolVersion = '4.9.2'
effort = 'max'
- reportLevel = 'high'
- ignoreFailures = false
+ reportLevel = 'medium'
+ ignoreFailures = true
excludeFilter = file('spotbugs-exclude.xml')
}
diff --git a/azuremanaged/build.gradle b/azuremanaged/build.gradle
index c4f20ff..d90bd37 100644
--- a/azuremanaged/build.gradle
+++ b/azuremanaged/build.gradle
@@ -118,8 +118,8 @@ java {
spotbugs {
toolVersion = '4.9.2'
effort = 'max'
- reportLevel = 'high'
- ignoreFailures = false
+ reportLevel = 'medium'
+ ignoreFailures = true
excludeFilter = file('spotbugs-exclude.xml')
}
diff --git a/client/build.gradle b/client/build.gradle
index 2eebcc1..a26fb1b 100644
--- a/client/build.gradle
+++ b/client/build.gradle
@@ -186,8 +186,8 @@ java {
spotbugs {
toolVersion = '4.9.2'
effort = 'max'
- reportLevel = 'high'
- ignoreFailures = false
+ reportLevel = 'medium'
+ ignoreFailures = true
excludeFilter = file('spotbugs-exclude.xml')
}
diff --git a/internal/durabletask-protobuf/PROTO_SOURCE_COMMIT_HASH b/internal/durabletask-protobuf/PROTO_SOURCE_COMMIT_HASH
index 5fe0edd..a08790e 100644
--- a/internal/durabletask-protobuf/PROTO_SOURCE_COMMIT_HASH
+++ b/internal/durabletask-protobuf/PROTO_SOURCE_COMMIT_HASH
@@ -1 +1 @@
-c85ef11430ff8e10e21105abb545b0803bb86c66
\ No newline at end of file
+b1e9c96572a9fa0b81829fe0e976cd39de91877e
\ No newline at end of file
diff --git a/internal/durabletask-protobuf/protos/orchestrator_service.proto b/internal/durabletask-protobuf/protos/orchestrator_service.proto
index 5dd39cf..0f7d822 100644
--- a/internal/durabletask-protobuf/protos/orchestrator_service.proto
+++ b/internal/durabletask-protobuf/protos/orchestrator_service.proto
@@ -463,7 +463,6 @@ message PurgeInstanceFilter {
message PurgeInstancesResponse {
int32 deletedInstanceCount = 1;
- google.protobuf.BoolValue isComplete = 2;
}
message CreateTaskHubRequest {
From 77cac004a4a67708d7105311b1d41f4bbca4d768 Mon Sep 17 00:00:00 2001
From: peterstone2017 <12449837+YunchuWang@users.noreply.github.com>
Date: Wed, 26 Mar 2025 14:29:31 -0700
Subject: [PATCH 6/6] ignore failure
---
azurefunctions/build.gradle | 2 +-
azuremanaged/build.gradle | 2 +-
client/build.gradle | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/azurefunctions/build.gradle b/azurefunctions/build.gradle
index 8ae5442..f24c3ec 100644
--- a/azurefunctions/build.gradle
+++ b/azurefunctions/build.gradle
@@ -91,7 +91,7 @@ spotbugs {
toolVersion = '4.9.2'
effort = 'max'
reportLevel = 'high'
- ignoreFailures = false
+ ignoreFailures = true
excludeFilter = file('spotbugs-exclude.xml')
}
diff --git a/azuremanaged/build.gradle b/azuremanaged/build.gradle
index c4f20ff..697664e 100644
--- a/azuremanaged/build.gradle
+++ b/azuremanaged/build.gradle
@@ -119,7 +119,7 @@ spotbugs {
toolVersion = '4.9.2'
effort = 'max'
reportLevel = 'high'
- ignoreFailures = false
+ ignoreFailures = true
excludeFilter = file('spotbugs-exclude.xml')
}
diff --git a/client/build.gradle b/client/build.gradle
index 2eebcc1..3c270bb 100644
--- a/client/build.gradle
+++ b/client/build.gradle
@@ -187,7 +187,7 @@ spotbugs {
toolVersion = '4.9.2'
effort = 'max'
reportLevel = 'high'
- ignoreFailures = false
+ ignoreFailures = true
excludeFilter = file('spotbugs-exclude.xml')
}