Skip to content

Commit 8d694ca

Browse files
committed
Ensure Testcontainers works properly with MS SQL Server on CI.
See #1558.
1 parent 15c1ae8 commit 8d694ca

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

ci/accept-third-party-license.sh

+2
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@
33
{
44
echo "mcr.microsoft.com/mssql/server:2019-CU16-ubuntu-20.04"
55
echo "ibmcom/db2:11.5.7.0a"
6+
echo "harbor-repo.vmware.com/mcr-proxy-cache/mssql/server:2019-CU16-ubuntu-20.04"
67
echo "harbor-repo.vmware.com/dockerhub-proxy-cache/ibmcom/db2:11.5.7.0a"
78
} > spring-data-jdbc/src/test/resources/container-license-acceptance.txt
89

910
{
1011
echo "mcr.microsoft.com/mssql/server:2022-latest"
1112
echo "ibmcom/db2:11.5.7.0a"
13+
echo "harbor-repo.vmware.com/mcr-proxy-cache/mssql/server:2022-latest"
1214
echo "harbor-repo.vmware.com/dockerhub-proxy-cache/ibmcom/db2:11.5.7.0a"
1315
} > spring-data-r2dbc/src/test/resources/container-license-acceptance.txt

spring-data-relational/src/test/java/org/springframework/data/ProxyImageNameSubstitutor.java

+19-1
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,18 @@ public class ProxyImageNameSubstitutor extends ImageNameSubstitutor {
3333
private static final Logger LOG = LoggerFactory.getLogger(ProxyImageNameSubstitutor.class);
3434

3535
private static final List<String> NAMES_TO_PROXY_PREFIX = List.of("ryuk", "arm64v8/mariadb", "ibmcom/db2",
36-
"gvenzl/oracle-xe");
36+
"gvenzl/oracle-free", "gvenzl/oracle-xe");
3737

3838
private static final List<String> NAMES_TO_LIBRARY_PROXY_PREFIX = List.of("mariadb", "mysql", "postgres");
3939

40+
private static final List<String> NAMES_TO_MCR_PROXY_PREFIX = List.of("mcr.microsoft.com/mssql");
41+
4042
private static final String PROXY_PREFIX = "harbor-repo.vmware.com/dockerhub-proxy-cache/";
4143

4244
private static final String LIBRARY_PROXY_PREFIX = PROXY_PREFIX + "library/";
4345

46+
private static final String MCR_PROXY_PREFIX = "harbor-repo.vmware.com/mcr-proxy-cache/";
47+
4448
@Override
4549
public DockerImageName apply(DockerImageName dockerImageName) {
4650

@@ -58,6 +62,13 @@ public DockerImageName apply(DockerImageName dockerImageName) {
5862
return DockerImageName.parse(transformedName);
5963
}
6064

65+
if (NAMES_TO_MCR_PROXY_PREFIX.stream().anyMatch(s -> dockerImageName.asCanonicalNameString().contains(s))) {
66+
67+
String transformedName = applyMcrProxyPrefix(dockerImageName.asCanonicalNameString());
68+
LOG.info("Converting " + dockerImageName.asCanonicalNameString() + " to " + transformedName);
69+
return DockerImageName.parse(transformedName);
70+
}
71+
6172
LOG.info("Not changing " + dockerImageName.asCanonicalNameString() + "...");
6273
return dockerImageName;
6374
}
@@ -80,4 +91,11 @@ private static String applyProxyPrefix(String imageName) {
8091
private static String applyProxyAndLibraryPrefix(String imageName) {
8192
return LIBRARY_PROXY_PREFIX + imageName;
8293
}
94+
95+
/**
96+
* Apply an MCR-based prefix.
97+
*/
98+
private static String applyMcrProxyPrefix(String imageName) {
99+
return MCR_PROXY_PREFIX + imageName.substring("mcr.microsoft.com/".length());
100+
}
83101
}

0 commit comments

Comments
 (0)