From a5a854580134f0299d1e2de6788fc15b0f3962d8 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Mon, 7 Dec 2020 10:33:29 +0100 Subject: [PATCH 1/2] Switch integration tests to CentOS 7 This commit upgrades the docker image for CentOS to Centos 7.9 as CentOs 6 is EOL since November 30. Given that CentOS 7 does no longer support SysVinit, this commit also updates the integration tests to not test this OS anymore. Closes gh-24344 --- .../boot/launchscript/AbstractLaunchScriptIT.java | 9 ++++++--- .../boot/launchscript/JarLaunchScriptIT.java | 6 ++++++ .../boot/launchscript/SysVinitLaunchScriptIT.java | 5 +++++ .../CentOS/{6.9-a23bced6 => 7.9-27525fe9}/Dockerfile | 5 ++--- 4 files changed, 19 insertions(+), 6 deletions(-) rename spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/resources/conf/CentOS/{6.9-a23bced6 => 7.9-27525fe9}/Dockerfile (60%) diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/java/org/springframework/boot/launchscript/AbstractLaunchScriptIT.java b/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/java/org/springframework/boot/launchscript/AbstractLaunchScriptIT.java index b1470c176cc..b19e7630bf8 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/java/org/springframework/boot/launchscript/AbstractLaunchScriptIT.java +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/java/org/springframework/boot/launchscript/AbstractLaunchScriptIT.java @@ -20,6 +20,7 @@ import java.io.File; import java.time.Duration; import java.util.ArrayList; import java.util.List; +import java.util.function.Predicate; import org.assertj.core.api.Condition; import org.testcontainers.containers.GenericContainer; @@ -49,11 +50,13 @@ abstract class AbstractLaunchScriptIT { this.scriptsDir = scriptsDir; } - static List parameters() { + static List parameters(Predicate osFilter) { List parameters = new ArrayList<>(); for (File os : new File("src/test/resources/conf").listFiles()) { - for (File version : os.listFiles()) { - parameters.add(new Object[] { os.getName(), version.getName() }); + if (osFilter.test(os)) { + for (File version : os.listFiles()) { + parameters.add(new Object[] { os.getName(), version.getName() }); + } } } return parameters; diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/java/org/springframework/boot/launchscript/JarLaunchScriptIT.java b/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/java/org/springframework/boot/launchscript/JarLaunchScriptIT.java index fa80a2498b6..6f4ec95a277 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/java/org/springframework/boot/launchscript/JarLaunchScriptIT.java +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/java/org/springframework/boot/launchscript/JarLaunchScriptIT.java @@ -16,6 +16,8 @@ package org.springframework.boot.launchscript; +import java.util.List; + import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; @@ -33,6 +35,10 @@ class JarLaunchScriptIT extends AbstractLaunchScriptIT { super("jar/"); } + static List parameters() { + return parameters((file) -> true); + } + @ParameterizedTest(name = "{0} {1}") @MethodSource("parameters") void basicLaunch(String os, String version) throws Exception { diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/java/org/springframework/boot/launchscript/SysVinitLaunchScriptIT.java b/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/java/org/springframework/boot/launchscript/SysVinitLaunchScriptIT.java index 7a624354b66..33c287f0c86 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/java/org/springframework/boot/launchscript/SysVinitLaunchScriptIT.java +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/java/org/springframework/boot/launchscript/SysVinitLaunchScriptIT.java @@ -16,6 +16,7 @@ package org.springframework.boot.launchscript; +import java.util.List; import java.util.regex.Pattern; import org.junit.jupiter.api.Assumptions; @@ -39,6 +40,10 @@ class SysVinitLaunchScriptIT extends AbstractLaunchScriptIT { super("init.d/"); } + static List parameters() { + return parameters((file) -> !file.getName().contains("CentOS")); + } + @ParameterizedTest(name = "{0} {1}") @MethodSource("parameters") void statusWhenStopped(String os, String version) throws Exception { diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/resources/conf/CentOS/6.9-a23bced6/Dockerfile b/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/resources/conf/CentOS/7.9-27525fe9/Dockerfile similarity index 60% rename from spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/resources/conf/CentOS/6.9-a23bced6/Dockerfile rename to spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/resources/conf/CentOS/7.9-27525fe9/Dockerfile index f4856452b61..5a3fda8f615 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/resources/conf/CentOS/6.9-a23bced6/Dockerfile +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/resources/conf/CentOS/7.9-27525fe9/Dockerfile @@ -1,7 +1,6 @@ -# CentOS 6.9 from 02/06/2017 -FROM centos@sha256:a23bced61701af9a0a758e94229676d9f09996a3ff0f3d26955b06bac8c282e0 +# CentOS 7.9 from 18/11/2020 +FROM centos@sha256:27525fe9e8a84f95baf88459070124628bf83da7216052ea9365fe46e93a102f RUN yum install -y wget && \ - yum install -y system-config-services && \ yum install -y curl && \ wget --output-document jdk.rpm \ https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-linux.x86_64.rpm && \ From f64b7f84650ac79923e58c2dbca59612c9d93afc Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Mon, 7 Dec 2020 11:46:33 +0100 Subject: [PATCH 2/2] Use proper CentOS base image See gh-24344 --- .../conf/CentOS/{7.9-27525fe9 => 7.9-e4ca2ed0}/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/resources/conf/CentOS/{7.9-27525fe9 => 7.9-e4ca2ed0}/Dockerfile (76%) diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/resources/conf/CentOS/7.9-27525fe9/Dockerfile b/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/resources/conf/CentOS/7.9-e4ca2ed0/Dockerfile similarity index 76% rename from spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/resources/conf/CentOS/7.9-27525fe9/Dockerfile rename to spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/resources/conf/CentOS/7.9-e4ca2ed0/Dockerfile index 5a3fda8f615..9c64460fa20 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/resources/conf/CentOS/7.9-27525fe9/Dockerfile +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-launch-script-tests/src/test/resources/conf/CentOS/7.9-e4ca2ed0/Dockerfile @@ -1,5 +1,5 @@ # CentOS 7.9 from 18/11/2020 -FROM centos@sha256:27525fe9e8a84f95baf88459070124628bf83da7216052ea9365fe46e93a102f +FROM centos@sha256:e4ca2ed0202e76be184e75fb26d14bf974193579039d5573fb2348664deef76e RUN yum install -y wget && \ yum install -y curl && \ wget --output-document jdk.rpm \