diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index 1be908ba85..159f8d581b 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml @@ -50,6 +50,14 @@ jobs: # Run pmd:pmd and pmd:cpd first to generate reports for all modules, then run pmd:check and pmd:cpd-check # This ensures all violations are collected and reported before the build fails run: xvfb-run mvn clean verify checkstyle:check pmd:pmd pmd:cpd pmd:check pmd:cpd-check spotbugs:check -f ./ddk-parent/pom.xml --batch-mode --fail-at-end + - name: Fail on missing surefire reports + # Tycho-Surefire writes no TEST-*.xml when discovery is empty — fail the job in that case. + if: always() + run: | + if ! find . -path '*/target/surefire-reports/TEST-*.xml' -print -quit | grep -q .; then + echo "::error::No surefire reports found. Test discovery is likely broken." + exit 1 + fi - name: Archive Tycho Surefire Plugin if: ${{ failure() }} uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 diff --git a/com.avaloq.tools.ddk.xtext.test/src/com/avaloq/tools/ddk/xtext/builder/XtextBuildTriggerTest.java b/com.avaloq.tools.ddk.xtext.test/src/com/avaloq/tools/ddk/xtext/builder/XtextBuildTriggerTest.java index c5a430401b..96b4e5dd0e 100644 --- a/com.avaloq.tools.ddk.xtext.test/src/com/avaloq/tools/ddk/xtext/builder/XtextBuildTriggerTest.java +++ b/com.avaloq.tools.ddk.xtext.test/src/com/avaloq/tools/ddk/xtext/builder/XtextBuildTriggerTest.java @@ -23,7 +23,6 @@ import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.xtext.builder.impl.BuildScheduler; -import org.eclipse.xtext.builder.impl.IBuildFlag; import org.eclipse.xtext.testing.InjectWith; import org.eclipse.xtext.testing.extensions.InjectionExtension; import org.junit.jupiter.api.BeforeEach; @@ -60,7 +59,7 @@ public void testTriggerRespectsAutoBuilding() { // auto-build disabled when(workspace.isAutoBuilding()).thenReturn(false); buildTrigger.scheduleFullBuild(); - verify(scheduler, never()).scheduleBuildIfNecessary(ArgumentMatchers.> any(), ArgumentMatchers. any()); + verify(scheduler, never()).scheduleBuildIfNecessary(ArgumentMatchers.> any()); reset(workspace); reset(scheduler); @@ -72,6 +71,6 @@ public void testTriggerRespectsAutoBuilding() { when(workspace.getRoot()).thenReturn(root); when(root.getProjects()).thenReturn(projects); buildTrigger.scheduleFullBuild(); - verify(scheduler).scheduleBuildIfNecessary(eq(Arrays.asList(projects)), ArgumentMatchers. any()); + verify(scheduler).scheduleBuildIfNecessary(eq(Arrays.asList(projects))); } } diff --git a/ddk-target/ddk.target b/ddk-target/ddk.target index aff6ba174c..a2ade38df0 100644 --- a/ddk-target/ddk.target +++ b/ddk-target/ddk.target @@ -1,6 +1,6 @@ - + @@ -20,10 +20,6 @@ - - - - @@ -46,23 +42,27 @@ - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + + + + +