From eb10821a22729a86525ed466ae0a23a88752c62f Mon Sep 17 00:00:00 2001 From: Adam Wisniewski Date: Mon, 10 Nov 2025 13:00:27 -0500 Subject: [PATCH 1/2] Add target platform for 2025-09 Signed-off-by: Adam Wisniewski --- .github/workflows/run-regression-tests.yml | 2 +- ci/jenkins/run-tests | 8 +- pom.xml | 2 +- .../target-platform-3Q2025.target | 111 ++++++++++++++++++ 4 files changed, 117 insertions(+), 6 deletions(-) create mode 100644 releng/target-platform-3Q2025/target-platform-3Q2025.target diff --git a/.github/workflows/run-regression-tests.yml b/.github/workflows/run-regression-tests.yml index 44d48940..77ca6ca6 100644 --- a/.github/workflows/run-regression-tests.yml +++ b/.github/workflows/run-regression-tests.yml @@ -10,7 +10,7 @@ jobs: fail-fast: false matrix: runtime: [ linux, mac, windows ] - targetPlatform: [ 2Q2025 ] + targetPlatform: [ 3Q2025 ] include: - runtime: linux os: ubuntu-latest diff --git a/ci/jenkins/run-tests b/ci/jenkins/run-tests index b65abe89..a30c199e 100644 --- a/ci/jenkins/run-tests +++ b/ci/jenkins/run-tests @@ -38,7 +38,7 @@ pipeline { } } - stage('Test on Eclipse 2Q2025') { + stage('Test on Eclipse 3Q2025') { steps { dir('liberty-tools-eclipse') { script { @@ -48,16 +48,16 @@ pipeline { sh ''' MVNPATH="$(dirname $(which mvn))/.." GRADLEPATH="$(dirname $(which gradle))/.." - mvn clean verify -DmvnLogFile -DmvnPath=$MVNPATH -DgradlePath=$GRADLEPATH -Dtycho.disableP2Mirrors=true -Declipse.target=2Q2025 -Dosgi.debug=./tests/resources/ci/debug.opts -DtestAppImportWait=120000 -Dtycho.showEclipseLog -e -X + mvn clean verify -DmvnLogFile -DmvnPath=$MVNPATH -DgradlePath=$GRADLEPATH -Dtycho.disableP2Mirrors=true -Declipse.target=3Q2025 -Dosgi.debug=./tests/resources/ci/debug.opts -DtestAppImportWait=120000 -Dtycho.showEclipseLog -e -X ''' } } finally { sh "find tests -type f -name \"lte-dev-mode-output-*.log\"" sh "mkdir lte-dev-mode-output-logs && find tests -type f -name \"lte-dev-mode-output-*.log\" -exec cp {} lte-dev-mode-output-logs \\;" sh "zip -r lte-dev-mode-output-logs.zip lte-dev-mode-output-logs" - sh "cd tests/target/surefire-reports && zip -r 2Q2025-test-reports.zip ." + sh "cd tests/target/surefire-reports && zip -r 3Q2025-test-reports.zip ." - archiveArtifacts artifacts: 'tests/target/surefire-reports/2Q2025-test-reports.zip', fingerprint: true + archiveArtifacts artifacts: 'tests/target/surefire-reports/3Q2025-test-reports.zip', fingerprint: true archiveArtifacts artifacts: 'lte-dev-mode-output-logs.zip', fingerprint: true archiveArtifacts artifacts: 'tests/target/work/data/.metadata/.log', fingerprint: true } diff --git a/pom.xml b/pom.xml index b4017f92..218ce550 100644 --- a/pom.xml +++ b/pom.xml @@ -42,7 +42,7 @@ - 2Q2025 + 3Q2025 diff --git a/releng/target-platform-3Q2025/target-platform-3Q2025.target b/releng/target-platform-3Q2025/target-platform-3Q2025.target new file mode 100644 index 00000000..2ded5273 --- /dev/null +++ b/releng/target-platform-3Q2025/target-platform-3Q2025.target @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + net.bytebuddy + byte-buddy-agent + 1.14.18 + jar + + + net.bytebuddy + byte-buddy + 1.14.18 + jar + + + org.mockito + mockito-core + 5.12.0 + jar + + + org.mockito + mockito-junit-jupiter + 5.12.0 + jar + + + org.objenesis + objenesis + 3.4 + jar + + + + + \ No newline at end of file From 6c54866b177264d9d51775459c8e4582a8a34371 Mon Sep 17 00:00:00 2001 From: Adam Wisniewski Date: Mon, 17 Nov 2025 18:43:18 -0500 Subject: [PATCH 2/2] Fix getAdapter hang on Windows CI runs Signed-off-by: Adam Wisniewski --- .../test/it/utils/SWTBotPluginOperations.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/tests/src/main/java/io/openliberty/tools/eclipse/test/it/utils/SWTBotPluginOperations.java b/tests/src/main/java/io/openliberty/tools/eclipse/test/it/utils/SWTBotPluginOperations.java index 8186a259..2667a1dc 100644 --- a/tests/src/main/java/io/openliberty/tools/eclipse/test/it/utils/SWTBotPluginOperations.java +++ b/tests/src/main/java/io/openliberty/tools/eclipse/test/it/utils/SWTBotPluginOperations.java @@ -27,6 +27,8 @@ import java.util.Iterator; import java.util.List; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Combo; @@ -140,7 +142,7 @@ public static SWTBotMenu getDebuggerConnectMenuForDebugObject(Object debugObject showDebugView(); SWTBotTreeItem obj = new SWTBotTreeItem((TreeItem) debugObject); - + // Ensure the tree item is properly selected and focused before accessing context menu // This is critical for headless CI environments where context menus can hang obj.select(); @@ -238,10 +240,10 @@ public void run() { } } }); - + // Give the view time to activate and render MagicWidgetFinder.pause(500); - + Object debugView = debugViewHolder[0]; if (debugView == null) { System.err.println("Debug view not found, cannot find object: " + objectName); @@ -255,7 +257,7 @@ public void run() { System.out.println("Retry attempt " + attempt + " to find object: " + objectName); MagicWidgetFinder.pause(1000); } - + result = MagicWidgetFinder.find(objectName, debugView, Option.factory().useContains(true).setThrowExceptionOnNotFound(false).widgetClass(TreeItem.class).build()); } @@ -802,6 +804,14 @@ public static Object getAppInPackageExplorerTree(String appName) { Object project = MagicWidgetFinder.find(appName, peView, Option.factory().useContains(true).widgetClass(TreeItem.class).build()); go(project); + + // Add pause to ensure UI is fully ready after selection + // This helps prevent race conditions where TreeItem data isn't fully initialized + // particularly on Windows in headless CI environments where selection events + // can trigger cascading calls to getSelectedDashboardProject() before the + // selection is fully resolved, causing infinite loops + MagicWidgetFinder.pause(5000); + return project; }