Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 60 additions & 1 deletion .github/workflows/run-regression-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,39 @@ jobs:
- name: 'Setup: Checkout plugin'
uses: actions/checkout@v2

# Restore Maven and Tycho dependencies cache
- name: 'Cache: Maven and Tycho repository (restore)'
uses: actions/cache/restore@v4
with:
path: |
~/.m2/repository
!~/.m2/repository/io/openliberty/tools/eclipse
key: ${{ runner.os }}-maven-tycho-${{ hashFiles('pom.xml', '.mvn/**', 'releng/**') }}
restore-keys: |
${{ runner.os }}-maven-tycho-

# Restore Gradle dependencies cache
- name: 'Cache: Gradle (restore)'
uses: actions/cache/restore@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-

# Restore downloaded tools cache (JDK, Maven, Gradle)
- name: 'Cache: Downloaded tools (restore)'
uses: actions/cache/restore@v4
with:
path: test-tools/liberty-dev-tools
key: ${{ runner.os }}-tools-jdk21.0.3-maven3.9.6-gradle8.8
restore-keys: |
${{ runner.os }}-tools-

# Install the required software.
- name: 'Setup: Install required software'
- name: 'Setup: Install required software'
run: bash ./tests/resources/ci/scripts/setup.sh

# Build the plugin.
Expand All @@ -50,3 +81,31 @@ jobs:
with:
name: test-app-logs
path: logs

# Save Maven and Tycho dependencies cache (even on failure)
- name: 'Cache: Maven and Tycho repository (save)'
uses: actions/cache/save@v4
if: always()
with:
path: |
~/.m2/repository
!~/.m2/repository/io/openliberty/tools/eclipse
key: ${{ runner.os }}-maven-tycho-${{ hashFiles('pom.xml', '.mvn/**', 'releng/**') }}

# Save Gradle dependencies cache (even on failure)
- name: 'Cache: Gradle (save)'
uses: actions/cache/save@v4
if: always()
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}

# Save downloaded tools cache (even on failure)
- name: 'Cache: Downloaded tools (save)'
uses: actions/cache/save@v4
if: always()
with:
path: test-tools/liberty-dev-tools
key: ${{ runner.os }}-tools-jdk21.0.3-maven3.9.6-gradle8.8
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: Liberty Tools Support for Language Servers
Bundle-Vendor: Open Liberty
Bundle-SymbolicName: io.openliberty.tools.eclipse.lsp4e;singleton:=true
Bundle-Version: 25.0.8.qualifier
Bundle-Version: 25.0.12.qualifier
Bundle-Activator: io.openliberty.tools.eclipse.ls.plugin.LibertyToolsLSPlugin
Bundle-ActivationPolicy: lazy
Automatic-Module-Name: io.openliberty.tools.eclipse.lsp4e
Expand Down
2 changes: 1 addition & 1 deletion bundles/io.openliberty.tools.eclipse.lsp4e/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<parent>
<groupId>io.openliberty.tools.eclipse</groupId>
<artifactId>parent</artifactId>
<version>25.0.8-SNAPSHOT</version>
<version>25.0.12-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: Liberty Tools
Bundle-Vendor: Open Liberty
Bundle-SymbolicName: io.openliberty.tools.eclipse.product;singleton:=true
Bundle-Version: 25.0.8.qualifier
Bundle-Version: 25.0.12.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-21
Automatic-Module-Name: io.openliberty.tools.eclipse
Bundle-ActivationPolicy: lazy
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: Liberty Tools UI
Bundle-Vendor: Open Liberty
Bundle-SymbolicName: io.openliberty.tools.eclipse.ui;singleton:=true
Bundle-Version: 25.0.8.qualifier
Bundle-Version: 25.0.12.qualifier
Bundle-Activator: io.openliberty.tools.eclipse.LibertyDevPlugin
Export-Package: io.openliberty.tools.eclipse;x-friends:="io.openliberty.tools.eclipse.tests",
io.openliberty.tools.eclipse.debug;x-friends:="io.openliberty.tools.eclipse.tests",
Expand Down
8 changes: 4 additions & 4 deletions features/io.openliberty.tools.eclipse.feature/feature.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<feature
id="io.openliberty.tools.eclipse"
label="%featureName"
version="25.0.8.qualifier"
version="25.0.12.qualifier"
plugin="io.openliberty.tools.eclipse.product"
provider-name="%providerName">

Expand All @@ -28,21 +28,21 @@
id="io.openliberty.tools.eclipse.ui"
download-size="0"
install-size="0"
version="25.0.8.qualifier"
version="25.0.12.qualifier"
unpack="false"/>

<plugin
id="io.openliberty.tools.eclipse.lsp4e"
download-size="0"
install-size="0"
version="25.0.8.qualifier"
version="25.0.12.qualifier"
unpack="false"/>

<plugin
id="io.openliberty.tools.eclipse.product"
download-size="0"
install-size="0"
version="25.0.8.qualifier"
version="25.0.12.qualifier"
unpack="false"/>

</feature>
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>io.openliberty.tools.eclipse</groupId>
<artifactId>parent</artifactId>
<version>25.0.8-SNAPSHOT</version>
<version>25.0.12-SNAPSHOT</version>
<packaging>pom</packaging>
<licenses>
<license>
Expand Down Expand Up @@ -196,7 +196,7 @@
<artifact>
<groupId>io.openliberty.tools.eclipse</groupId>
<artifactId>target-platform-${eclipse.target}</artifactId>
<version>25.0.8-SNAPSHOT</version>
<version>25.0.12-SNAPSHOT</version>
<file>target-platform-${eclipse.target}</file>
</artifact>
</target>
Expand Down
2 changes: 1 addition & 1 deletion releng/io.openliberty.tools.update/category.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
IBM Corporation - initial implementation
-->
<site>
<feature url="features/io.openliberty.tools.eclipse_25.0.8.qualifier.liberty.jar" id="io.openliberty.tools.eclipse" version="25.0.8.qualifier">
<feature url="features/io.openliberty.tools.eclipse_25.0.12.qualifier.liberty.jar" id="io.openliberty.tools.eclipse" version="25.0.12.qualifier">
<category name="io.openliberty.tools.eclipse"/>
</feature>

Expand Down
2 changes: 1 addition & 1 deletion tests/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Bundle-Copyright: Copyright (c) 2022, 2025 IBM Corporation and others.
Bundle-ManifestVersion: 2
Bundle-Name: Tests Plug-in
Bundle-SymbolicName: io.openliberty.tools.eclipse.tests
Bundle-Version: 25.0.8.qualifier
Bundle-Version: 25.0.12.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-21
Require-Bundle: junit-jupiter-api,
org.eclipse.ui,
Expand Down
3 changes: 2 additions & 1 deletion tests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<parent>
<groupId>io.openliberty.tools.eclipse</groupId>
<artifactId>parent</artifactId>
<version>25.0.8-SNAPSHOT</version>
<version>25.0.12-SNAPSHOT</version>
</parent>

<artifactId>io.openliberty.tools.eclipse.tests</artifactId>
Expand All @@ -39,6 +39,7 @@
<providerHint>junit5</providerHint>
<trimStackTrace>false</trimStackTrace>
<runOrder>alphabetical</runOrder>
<forkedProcessTimeoutInSeconds>7200</forkedProcessTimeoutInSeconds>
<systemProperties>
<org.eclipse.swtbot.search.timeout>20000</org.eclipse.swtbot.search.timeout>
<io.liberty.tools.eclipse.tests.mvn.logfile>${mvnLogFile}</io.liberty.tools.eclipse.tests.mvn.logfile>
Expand Down
25 changes: 25 additions & 0 deletions tests/resources/ci/scripts/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,17 @@ installCustomSoftware() {
installJDK() {
local javaHome="${SOFTWARE_INSTALL_DIR}/jdk-${SEMERU_OPEN_JDK_VERSION}+${SEMERU_OPEN_JDK_BUILD}"

# Skip installation if JDK is already installed (from cache)
if [[ -d "${javaHome}" ]] || [[ -d "${javaHome}/Contents/Home" ]]; then
echo "JDK ${SEMERU_OPEN_JDK_VERSION}+${SEMERU_OPEN_JDK_BUILD} already installed, skipping download"
if [[ $OS == "Darwin" ]]; then
javaHome="${javaHome}/Contents/Home"
fi
echo "JAVA_HOME=${javaHome}" >> $GITHUB_ENV
echo "${javaHome}/bin" >> $GITHUB_PATH
return 0
fi

# Download, validate, and expand the JDK archive.
if [[ $OS == "Linux" ]]; then
local url="https://github.com/ibmruntimes/semeru${SEMERU_OPEN_JDK_MAJOR}-binaries/releases/download/jdk-${SEMERU_OPEN_JDK_VERSION}%2B${SEMERU_OPEN_JDK_BUILD}_openj9-${SEMERU_OPENJ9_VERSION}/ibm-semeru-open-jdk_x64_linux_${SEMERU_OPEN_JDK_VERSION}_${SEMERU_OPEN_JDK_BUILD}_openj9-${SEMERU_OPENJ9_VERSION}.tar.gz"
Expand Down Expand Up @@ -142,6 +153,13 @@ installMaven() {
local mavenHome="${SOFTWARE_INSTALL_DIR}/apache-maven-${MAVEN_VERSION}"
local url="https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip"

# Skip installation if Maven is already installed (from cache)
if [[ -d "${mavenHome}" ]]; then
echo "Maven ${MAVEN_VERSION} already installed at ${mavenHome}, skipping download"
echo "${mavenHome}/bin" >> $GITHUB_PATH
return 0
fi

# Download the Maven archive.
curl -fsSL -o /tmp/liberty-dev-tool-apache-maven.zip "$url"

Expand Down Expand Up @@ -171,6 +189,13 @@ installGradle() {
local gradleHome="${SOFTWARE_INSTALL_DIR}/gradle-${GRADLE_VERSION}"
local url="https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip"

# Skip installation if Gradle is already installed (from cache)
if [[ -d "${gradleHome}" ]]; then
echo "Gradle ${GRADLE_VERSION} already installed at ${gradleHome}, skipping download"
echo "${gradleHome}/bin" >> $GITHUB_PATH
return 0
fi

# Download the Gradle archive.
curl -fsSL -o /tmp/liberty-dev-tool-gradle.zip "$url"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,12 @@
import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInfo;

import io.openliberty.tools.eclipse.CommandBuilder;
import io.openliberty.tools.eclipse.CommandBuilder.CommandNotFoundException;
Expand All @@ -87,6 +89,9 @@
import io.openliberty.tools.eclipse.ui.dashboard.DashboardView;
import io.openliberty.tools.eclipse.ui.launch.LaunchConfigurationDelegateLauncher;

import static io.openliberty.tools.eclipse.test.it.utils.SWTBotPluginOperations.getObjectInDebugView;
import static io.openliberty.tools.eclipse.test.it.utils.SWTBotPluginOperations.terminateLaunch;

/**
* Tests Open Liberty Eclipse plugin functions.
*/
Expand Down Expand Up @@ -199,6 +204,17 @@ public static void setup() throws Exception {

}

@AfterEach
public void afterEach(TestInfo info) {
terminateLaunch();

// Validate that launch has been removed
Object launch = getObjectInDebugView("[Liberty]");
Assertions.assertNull(launch);

super.afterEach(info);
}

@AfterAll
public static void cleanup() {
for (File p : projectsToInstall) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,12 @@
import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInfo;

import io.openliberty.tools.eclipse.CommandBuilder;
import io.openliberty.tools.eclipse.CommandBuilder.CommandNotFoundException;
Expand All @@ -84,6 +86,9 @@
import io.openliberty.tools.eclipse.ui.dashboard.DashboardView;
import io.openliberty.tools.eclipse.ui.launch.LaunchConfigurationDelegateLauncher;

import static io.openliberty.tools.eclipse.test.it.utils.SWTBotPluginOperations.getObjectInDebugView;
import static io.openliberty.tools.eclipse.test.it.utils.SWTBotPluginOperations.terminateLaunch;

/**
* Tests Open Liberty Eclipse plugin functions.
*/
Expand Down Expand Up @@ -201,6 +206,17 @@ public static void setup() throws Exception {
validateBeforeTestRun();
}

@AfterEach
public void afterEach(TestInfo info) {
terminateLaunch();

// Validate that launch has been removed
Object launch = getObjectInDebugView("[Liberty]");
Assertions.assertNull(launch);

super.afterEach(info);
}

@AfterAll
public static void cleanup() {
for (String p : projectPaths) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ public void afterEach(TestInfo info) {
Assertions.assertNull(launch);

super.afterEach(info);
}
}

@AfterAll
public static void cleanup() throws IOException {
Expand Down
Loading
Loading