From 703a749aa2916ca1db73ca4a71d0efebce8f30bc Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sun, 12 Apr 2026 20:51:38 +0000
Subject: [PATCH 1/3] Bump dependency org.testcontainers:testcontainers to v2
---
plugin/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugin/pom.xml b/plugin/pom.xml
index abc0ea63..76ee9d35 100644
--- a/plugin/pom.xml
+++ b/plugin/pom.xml
@@ -39,7 +39,7 @@
2.11.0
- 1.21.4
+ 2.0.4
From 56bf522b3ef7e2116861f24329baad5b25b42231 Mon Sep 17 00:00:00 2001
From: Ulli Hafner
Date: Sun, 12 Apr 2026 23:13:33 +0200
Subject: [PATCH 2/3] Remove obsolete testcontainers JUnit dependency
---
plugin/pom.xml | 6 ------
1 file changed, 6 deletions(-)
diff --git a/plugin/pom.xml b/plugin/pom.xml
index 76ee9d35..1e7288cc 100644
--- a/plugin/pom.xml
+++ b/plugin/pom.xml
@@ -201,12 +201,6 @@
-
- org.testcontainers
- junit-jupiter
- ${testcontainers.version}
- test
-
From 18aff18fad3917815bf0438c804b9b61b096cdf4 Mon Sep 17 00:00:00 2001
From: Ulli Hafner
Date: Mon, 13 Apr 2026 12:23:23 +0200
Subject: [PATCH 3/3] Disable Docker tests
---
plugin/pom.xml | 6 ------
.../source/DockerAgentSourceCodeITest.java | 6 +-----
.../metrics/steps/GitForensicsITest.java | 16 ++++++++--------
3 files changed, 9 insertions(+), 19 deletions(-)
diff --git a/plugin/pom.xml b/plugin/pom.xml
index 1e7288cc..9f612612 100644
--- a/plugin/pom.xml
+++ b/plugin/pom.xml
@@ -194,12 +194,6 @@
testcontainers
${testcontainers.version}
test
-
-
- org.apache.commons
- commons-compress
-
-
diff --git a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/source/DockerAgentSourceCodeITest.java b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/source/DockerAgentSourceCodeITest.java
index 5da9deb5..cbd2ca67 100644
--- a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/source/DockerAgentSourceCodeITest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/source/DockerAgentSourceCodeITest.java
@@ -1,8 +1,6 @@
package io.jenkins.plugins.coverage.metrics.source;
import org.junit.jupiter.api.Disabled;
-import org.testcontainers.junit.jupiter.Container;
-import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.MountableFile;
import java.io.IOException;
@@ -11,11 +9,10 @@
import hudson.model.Node;
/**
- * Verifies if source code copying and rendering works on Docker agents.
+ * Verifies if source code copying and rendering work on Docker agents.
*
* @author Ullrich Hafner
*/
-@Testcontainers(disabledWithoutDocker = true)
@Disabled("Docker tests are failing with Java 17 Jenkins")
class DockerAgentSourceCodeITest extends SourceCodeITest {
private static final String SOURCES_IN_DOCKER_PATH = "/tmp/coverage";
@@ -23,7 +20,6 @@ class DockerAgentSourceCodeITest extends SourceCodeITest {
private static final String PATH_UTIL_CONTAINER_PATH = SOURCES_IN_DOCKER_PATH + "/" + PATH_UTIL_PACKAGE_PATH + PATH_UTIL_FILE_NAME;
private static final String RESOURCES = "io/jenkins/plugins/coverage/metrics/source/";
- @Container
private static final AgentContainer AGENT_CONTAINER = new AgentContainer()
.withCopyFileToContainer(
MountableFile.forClasspathResource(RESOURCES + ACU_COBOL_PARSER_SOURCE_FILE),
diff --git a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/GitForensicsITest.java b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/GitForensicsITest.java
index 6e07f442..b9cba9d7 100644
--- a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/GitForensicsITest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/GitForensicsITest.java
@@ -6,8 +6,6 @@
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
-import org.testcontainers.junit.jupiter.Container;
-import org.testcontainers.junit.jupiter.Testcontainers;
import edu.hm.hafner.coverage.Coverage;
import edu.hm.hafner.coverage.Difference;
@@ -44,7 +42,6 @@
* @author Florian Orendi
*/
@Disabled("Docker tests are failing with Java 17 Jenkins")
-@Testcontainers(disabledWithoutDocker = true)
class GitForensicsITest extends AbstractCoverageITest {
/** The JaCoCo coverage report, generated for the commit {@link #COMMIT}. */
private static final String JACOCO_FILE = "forensics_integration.xml";
@@ -56,7 +53,6 @@ class GitForensicsITest extends AbstractCoverageITest {
private static final String REPOSITORY = "https://github.com/jenkinsci/forensics-api-plugin.git";
- @Container
private static final AgentContainer AGENT_CONTAINER = new AgentContainer();
@ParameterizedTest(name = "Source code retention {0} should store {1} files")
@@ -116,8 +112,10 @@ void shouldVerifyQualityGate(final Baseline baseline, final double threshold, fi
verifyGitRepositoryForCommit(referenceBuild, COMMIT_REFERENCE);
String qualityGate = String.format(", qualityGates: ["
- + " [threshold: %f, metric: 'LINE', baseline: '%s', criticality: 'UNSTABLE']]", threshold, baseline.name());
- project.setDefinition(createPipelineForCommit(node, COMMIT, JACOCO_FILE, SourceCodeRetention.EVERY_BUILD, qualityGate));
+ + " [threshold: %f, metric: 'LINE', baseline: '%s', criticality: 'UNSTABLE']]", threshold,
+ baseline.name());
+ project.setDefinition(
+ createPipelineForCommit(node, COMMIT, JACOCO_FILE, SourceCodeRetention.EVERY_BUILD, qualityGate));
Run, ?> build = buildWithResult(project, Result.UNSTABLE);
verifyCoverage(build.getAction(CoverageBuildAction.class), referenceBuild.getAction(CoverageBuildAction.class));
@@ -127,10 +125,12 @@ void shouldVerifyQualityGate(final Baseline baseline, final double threshold, fi
if (baseline == Baseline.PROJECT_DELTA
|| baseline == Baseline.MODIFIED_FILES_DELTA
|| baseline == Baseline.MODIFIED_LINES_DELTA) {
- assertThat(getConsoleLog(build)).contains("≪Unstable≫ - (Actual value: %+.2f%%, Quality gate: %.2f)".formatted(value, threshold));
+ assertThat(getConsoleLog(build)).contains(
+ "≪Unstable≫ - (Actual value: %+.2f%%, Quality gate: %.2f)".formatted(value, threshold));
}
else {
- assertThat(getConsoleLog(build)).contains("≪Unstable≫ - (Actual value: %.2f%%, Quality gate: %.2f)".formatted(value, threshold));
+ assertThat(getConsoleLog(build)).contains(
+ "≪Unstable≫ - (Actual value: %.2f%%, Quality gate: %.2f)".formatted(value, threshold));
}
}