Revert "Use noble buildpacks instead of jammy"
This reverts commit 4f672b9588019093a99d27d507a682403d1a1138. See gh-42711
This commit is contained in:
parent
1007061537
commit
ae16856bda
@ -33,7 +33,7 @@ This means you can just type a single command and quickly get a sensible image i
|
||||
The resulting image doesn't contain a JVM, instead the native image is compiled statically.
|
||||
This leads to smaller images.
|
||||
|
||||
NOTE: The CNB builder used for the images is `paketobuildpacks/builder-noble-java-tiny:latest`.
|
||||
NOTE: The CNB builder used for the images is `paketobuildpacks/builder-jammy-java-tiny:latest`.
|
||||
It has a small footprint and reduced attack surface. It does not include a shell and contains a reduced set of system libraries.
|
||||
Use `paketobuildpacks/builder-jammy-base:latest` or `paketobuildpacks/builder-jammy-full:latest` to have more tools available in the image if required.
|
||||
|
||||
|
@ -66,7 +66,7 @@ Assuming an AOT processed Spring Boot executable jar built as `myproject-0.0.1-S
|
||||
|
||||
[source,shell]
|
||||
----
|
||||
$ pack build --builder paketobuildpacks/builder-noble-java-tiny \
|
||||
$ pack build --builder paketobuildpacks/builder-jammy-java-tiny \
|
||||
--path target/myproject-0.0.1-SNAPSHOT.jar \
|
||||
--env 'BP_NATIVE_IMAGE=true' \
|
||||
my-application:0.0.1-SNAPSHOT
|
||||
|
@ -46,7 +46,7 @@ import org.springframework.util.Assert;
|
||||
*/
|
||||
public class BuildRequest {
|
||||
|
||||
static final String DEFAULT_BUILDER_IMAGE_NAME = "paketobuildpacks/builder-noble-java-tiny";
|
||||
static final String DEFAULT_BUILDER_IMAGE_NAME = "paketobuildpacks/builder-jammy-java-tiny";
|
||||
|
||||
static final String DEFAULT_BUILDER_IMAGE_REF = DEFAULT_BUILDER_IMAGE_NAME + ":latest";
|
||||
|
||||
|
@ -161,8 +161,8 @@ class BootBuildImageIntegrationTests {
|
||||
writeMainClass();
|
||||
writeLongNameResource();
|
||||
BuildResult result = this.gradleBuild.build("bootBuildImage", "--pullPolicy=IF_NOT_PRESENT",
|
||||
"--imageName=example/test-image-cmd", "--builder=ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2",
|
||||
"--trustBuilder", "--runImage=paketobuildpacks/run-noble-tiny", "--createdDate=2020-07-01T12:34:56Z",
|
||||
"--imageName=example/test-image-cmd", "--builder=ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1",
|
||||
"--trustBuilder", "--runImage=paketobuildpacks/run-jammy-tiny", "--createdDate=2020-07-01T12:34:56Z",
|
||||
"--applicationDirectory=/application");
|
||||
assertThat(result.task(":bootBuildImage").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
|
||||
assertThat(result.getOutput()).contains("example/test-image-cmd");
|
||||
@ -412,9 +412,9 @@ class BootBuildImageIntegrationTests {
|
||||
void buildsImageOnLinuxArmWithImagePlatformLinuxArm() throws IOException {
|
||||
writeMainClass();
|
||||
writeLongNameResource();
|
||||
String builderImage = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2";
|
||||
String runImage = "docker.io/paketobuildpacks/run-noble-tiny:latest";
|
||||
String buildpackImage = "ghcr.io/spring-io/spring-boot-test-info:0.0.2";
|
||||
String builderImage = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1";
|
||||
String runImage = "docker.io/paketobuildpacks/run-jammy-tiny:latest";
|
||||
String buildpackImage = "ghcr.io/spring-io/spring-boot-test-info:0.0.1";
|
||||
removeImages(builderImage, runImage, buildpackImage);
|
||||
BuildResult result = this.gradleBuild.build("bootBuildImage");
|
||||
String projectName = this.gradleBuild.getProjectDir().getName();
|
||||
@ -440,9 +440,9 @@ class BootBuildImageIntegrationTests {
|
||||
void failsWhenBuildingOnLinuxAmdWithImagePlatformLinuxArm() throws IOException {
|
||||
writeMainClass();
|
||||
writeLongNameResource();
|
||||
String builderImage = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2";
|
||||
String runImage = "docker.io/paketobuildpacks/run-noble-tiny:latest";
|
||||
String buildpackImage = "ghcr.io/spring-io/spring-boot-test-info:0.0.2";
|
||||
String builderImage = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1";
|
||||
String runImage = "docker.io/paketobuildpacks/run-jammy-tiny:latest";
|
||||
String buildpackImage = "ghcr.io/spring-io/spring-boot-test-info:0.0.1";
|
||||
removeImages(builderImage, runImage, buildpackImage);
|
||||
BuildResult result = this.gradleBuild.buildAndFail("bootBuildImage");
|
||||
String projectName = this.gradleBuild.getProjectDir().getName();
|
||||
|
@ -4,8 +4,8 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
runImage = "paketobuildpacks/run-noble-tiny"
|
||||
buildpacks = ["ghcr.io/spring-io/spring-boot-test-info:0.0.2"]
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
runImage = "paketobuildpacks/run-jammy-tiny"
|
||||
buildpacks = ["ghcr.io/spring-io/spring-boot-test-info:0.0.1"]
|
||||
imagePlatform = "linux/arm64"
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ if (project.hasProperty('applyWarPlugin')) {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
applicationDirectory = "/application"
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
buildWorkspace {
|
||||
bind {
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
bindings = [ "${projectDir}/bindings/ca-certificates:/platform/bindings/certificates" as String ]
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
buildpacks = [ "spring-boot/spring-boot-test-info" ]
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
buildpacks = [ "file://${projectDir}/buildpack/hello-world" as String ]
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
buildpacks = [ "file://${projectDir}/hello-world.tgz" as String ]
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
buildpacks = ["ghcr.io/spring-io/spring-boot-test-info:0.0.2"]
|
||||
buildpacks = ["ghcr.io/spring-io/spring-boot-test-info:0.0.1"]
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
createdDate = "2020-07-01T12:34:56Z"
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
createdDate = "now"
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ plugins {
|
||||
|
||||
bootBuildImage {
|
||||
imageName = "example/test-image-custom"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
runImage = "paketobuildpacks/run-noble-tiny"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
runImage = "paketobuildpacks/run-jammy-tiny"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
}
|
||||
|
@ -5,6 +5,6 @@ plugins {
|
||||
|
||||
bootBuildImage {
|
||||
imageName = "example/test-image-name"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
securityOptions = []
|
||||
}
|
||||
|
@ -8,6 +8,6 @@ bootJar {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ if (project.hasProperty('applyWarPlugin')) {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
network = "none"
|
||||
}
|
||||
|
@ -10,6 +10,6 @@ if (project.hasProperty('applyWarPlugin')) {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = PullPolicy.ALWAYS
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
tags = [ "example.com/myapp:latest" ]
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ if (project.hasProperty('applyWarPlugin')) {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
trustBuilder = true
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
buildWorkspace {
|
||||
volume {
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
archiveFile = bootWar.archiveFile
|
||||
}
|
||||
}
|
@ -4,8 +4,8 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
runImage = "paketobuildpacks/run-noble-tiny"
|
||||
buildpacks = ["ghcr.io/spring-io/spring-boot-test-info:0.0.2"]
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
runImage = "paketobuildpacks/run-jammy-tiny"
|
||||
buildpacks = ["ghcr.io/spring-io/spring-boot-test-info:0.0.1"]
|
||||
imagePlatform = "linux/arm64"
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
buildCache {
|
||||
volume {
|
||||
name = "build-cache-volume"
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
environment = ["FORCE_FAILURE": "true"]
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
buildpacks = [ "urn:cnb:builder:example/does-not-exist:0.0.1" ]
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
createdDate = "invalid date"
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
tags = [ "example/Invalid-Tag-Name" ]
|
||||
}
|
||||
|
@ -8,6 +8,6 @@ if (project.hasProperty('applyWarPlugin')) {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
pullPolicy = "IF_NOT_PRESENT"
|
||||
}
|
||||
|
@ -4,6 +4,6 @@ plugins {
|
||||
}
|
||||
|
||||
bootBuildImage {
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
|
||||
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
|
||||
publish = true
|
||||
}
|
||||
|
@ -119,12 +119,12 @@ The following table summarizes the available properties and their default values
|
||||
| `builder`
|
||||
| `--builder`
|
||||
| Name of the builder image to use.
|
||||
| `paketobuildpacks/builder-noble-java-tiny:latest`
|
||||
| `paketobuildpacks/builder-jammy-java-tiny:latest`
|
||||
|
||||
| `trustBuilder`
|
||||
| `--trustBuilder`
|
||||
| Whether to treat the builder as https://buildpacks.io/docs/for-platform-operators/how-to/integrate-ci/pack/concepts/trusted_builders/#what-is-a-trusted-builder[trusted].
|
||||
| `true` if the builder is one of `paketobuildpacks/builder-noble-java-tiny`, `paketobuildpacks/builder-jammy-java-tiny`, `paketobuildpacks/builder-jammy-tiny`, `paketobuildpacks/builder-jammy-base`, `paketobuildpacks/builder-jammy-full`, `paketobuildpacks/builder-jammy-buildpackless-tiny`, `paketobuildpacks/builder-jammy-buildpackless-base`, `paketobuildpacks/builder-jammy-buildpackless-full`, `gcr.io/buildpacks/builder`, `heroku/builder`; `false` otherwise.
|
||||
| `true` if the builder is one of `paketobuildpacks/builder-jammy-java-tiny`, `paketobuildpacks/builder-noble-java-tiny`, `paketobuildpacks/builder-jammy-tiny`, `paketobuildpacks/builder-jammy-base`, `paketobuildpacks/builder-jammy-full`, `paketobuildpacks/builder-jammy-buildpackless-tiny`, `paketobuildpacks/builder-jammy-buildpackless-base`, `paketobuildpacks/builder-jammy-buildpackless-full`, `gcr.io/buildpacks/builder`, `heroku/builder`; `false` otherwise.
|
||||
|
||||
| `imagePlatform`
|
||||
| `--imagePlatform`
|
||||
@ -251,7 +251,7 @@ NOTE: The plugin detects the target Java compatibility of the project using the
|
||||
When using the default Paketo builder and buildpacks, the plugin instructs the buildpacks to install the same Java version.
|
||||
You can override this behavior as shown in the xref:packaging-oci-image.adoc#build-image.examples.builder-configuration[builder configuration] examples.
|
||||
|
||||
NOTE: The default builder `paketobuildpacks/builder-noble-java-tiny:latest` contains a reduced set of system libraries and does not include a shell.
|
||||
NOTE: The default builder `paketobuildpacks/builder-jammy-java-tiny:latest` contains a reduced set of system libraries and does not include a shell.
|
||||
Applications that require a shell to run a start script, as might be the case when the {url-gradle-docs-application-plugin}[`application` plugin] has been applied to generate a distribution zip archive, or that depend upon a system library that is not present, should override the `builder` configuration to use one that includes a shell and a broader set of system libraries, such as `paketobuildpacks/builder-jammy-base:latest` or `paketobuildpacks/builder-jammy-full:latest`.
|
||||
|
||||
|
||||
|
@ -174,7 +174,7 @@ class BootBuildImageTests {
|
||||
@Test
|
||||
void whenNoBuilderIsConfiguredThenRequestHasDefaultBuilder() {
|
||||
BuildRequest request = this.buildImage.createRequest();
|
||||
assertThat(request.getBuilder().getName()).isEqualTo("paketobuildpacks/builder-noble-java-tiny");
|
||||
assertThat(request.getBuilder().getName()).isEqualTo("paketobuildpacks/builder-jammy-java-tiny");
|
||||
assertThat(request.isTrustBuilder()).isTrue();
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2025 the original author or authors.
|
||||
* Copyright 2012-2024 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -270,9 +270,9 @@ class BuildImageTests extends AbstractArchiveIntegrationTests {
|
||||
.goals("package")
|
||||
.systemProperty("spring-boot.build-image.pullPolicy", "IF_NOT_PRESENT")
|
||||
.systemProperty("spring-boot.build-image.imageName", "example.com/test/cmd-property-name:v1")
|
||||
.systemProperty("spring-boot.build-image.builder", "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2")
|
||||
.systemProperty("spring-boot.build-image.builder", "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1")
|
||||
.systemProperty("spring-boot.build-image.trustBuilder", "true")
|
||||
.systemProperty("spring-boot.build-image.runImage", "paketobuildpacks/run-noble-tiny")
|
||||
.systemProperty("spring-boot.build-image.runImage", "paketobuildpacks/run-jammy-tiny")
|
||||
.systemProperty("spring-boot.build-image.createdDate", "2020-07-01T12:34:56Z")
|
||||
.systemProperty("spring-boot.build-image.applicationDirectory", "/application")
|
||||
.execute((project) -> {
|
||||
@ -540,9 +540,9 @@ class BuildImageTests extends AbstractArchiveIntegrationTests {
|
||||
@EnabledOnOs(value = { OS.LINUX, OS.MAC }, architectures = "aarch64",
|
||||
disabledReason = "Lifecycle will only run on ARM architecture")
|
||||
void whenBuildImageIsInvokedOnLinuxArmWithImagePlatformLinuxArm(MavenBuild mavenBuild) throws IOException {
|
||||
String builderImage = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2";
|
||||
String runImage = "docker.io/paketobuildpacks/run-noble-tiny:latest";
|
||||
String buildpackImage = "ghcr.io/spring-io/spring-boot-test-info:0.0.2";
|
||||
String builderImage = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1";
|
||||
String runImage = "docker.io/paketobuildpacks/run-jammy-tiny:latest";
|
||||
String buildpackImage = "ghcr.io/spring-io/spring-boot-test-info:0.0.1";
|
||||
removeImages(builderImage, runImage, buildpackImage);
|
||||
mavenBuild.project("dockerTest", "build-image-platform-linux-arm").goals("package").execute((project) -> {
|
||||
File jar = new File(project, "target/build-image-platform-linux-arm-0.0.1.BUILD-SNAPSHOT.jar");
|
||||
@ -564,9 +564,9 @@ class BuildImageTests extends AbstractArchiveIntegrationTests {
|
||||
@EnabledOnOs(value = { OS.LINUX, OS.MAC }, architectures = "amd64",
|
||||
disabledReason = "The expected failure condition will not fail on ARM architectures")
|
||||
void failsWhenBuildImageIsInvokedOnLinuxAmdWithImagePlatformLinuxArm(MavenBuild mavenBuild) throws IOException {
|
||||
String builderImage = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2";
|
||||
String runImage = "docker.io/paketobuildpacks/run-noble-tiny:latest";
|
||||
String buildpackImage = "ghcr.io/spring-io/spring-boot-test-info:0.0.2";
|
||||
String builderImage = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1";
|
||||
String runImage = "docker.io/paketobuildpacks/run-jammy-tiny:latest";
|
||||
String buildpackImage = "ghcr.io/spring-io/spring-boot-test-info:0.0.1";
|
||||
removeImages(buildpackImage, runImage, buildpackImage);
|
||||
mavenBuild.project("dockerTest", "build-image-platform-linux-arm")
|
||||
.goals("package")
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<applicationDirectory>/application</applicationDirectory>
|
||||
</image>
|
||||
</configuration>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<buildpacks>
|
||||
<buildpack>urn:cnb:builder:example/does-not-exist:0.0.1</buildpack>
|
||||
</buildpacks>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<buildWorkspace>
|
||||
<bind>
|
||||
<source>${java.io.tmpdir}/junit-image-cache-${test-build-id}-work</source>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<bindings>
|
||||
<binding>${basedir}/bindings/ca-certificates:/platform/bindings/ca-certificates</binding>
|
||||
</bindings>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<env>
|
||||
<FORCE_FAILURE>true</FORCE_FAILURE>
|
||||
</env>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<buildCache>
|
||||
<volume>
|
||||
<name>build-cache-volume1</name>
|
||||
|
@ -45,7 +45,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
</image>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
@ -39,7 +39,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
</image>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
@ -29,7 +29,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
</image>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
</image>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
@ -19,7 +19,7 @@
|
||||
<version>@project.version@</version>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
</image>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<createdDate>2020-07-01T12:34:56Z</createdDate>
|
||||
</image>
|
||||
</configuration>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<createdDate>now</createdDate>
|
||||
</image>
|
||||
</configuration>
|
||||
|
@ -23,8 +23,8 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<runImage>paketobuildpacks/run-noble-tiny</runImage>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<runImage>paketobuildpacks/run-jammy-tiny</runImage>
|
||||
</image>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<buildpacks>
|
||||
<buildpack>urn:cnb:builder:spring-boot/spring-boot-test-info</buildpack>
|
||||
</buildpacks>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<name>example.com/test/build-image:${project.version}</name>
|
||||
</image>
|
||||
</configuration>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<env>
|
||||
<EMPTY_KEY></EMPTY_KEY>
|
||||
</env>
|
||||
|
@ -25,7 +25,7 @@
|
||||
<configuration>
|
||||
<finalName>final-name</finalName>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
</image>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
@ -27,7 +27,7 @@
|
||||
<configuration>
|
||||
<classifier>exec</classifier>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
</image>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
@ -31,7 +31,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
</image>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<network>none</network>
|
||||
</image>
|
||||
</configuration>
|
||||
|
@ -23,10 +23,10 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<runImage>paketobuildpacks/run-noble-tiny</runImage>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<runImage>paketobuildpacks/run-jammy-tiny</runImage>
|
||||
<buildpacks>
|
||||
<buildpack>ghcr.io/spring-io/spring-boot-test-info:0.0.2</buildpack>
|
||||
<buildpack>ghcr.io/spring-io/spring-boot-test-info:0.0.1</buildpack>
|
||||
</buildpacks>
|
||||
<imagePlatform>linux/arm64</imagePlatform>
|
||||
</image>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<publish>true</publish>
|
||||
</image>
|
||||
</configuration>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<security-options/>
|
||||
</image>
|
||||
</configuration>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<tags>
|
||||
<tag>${project.artifactId}:latest</tag>
|
||||
</tags>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<trustBuilder>true</trustBuilder>
|
||||
</image>
|
||||
</configuration>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
<buildWorkspace>
|
||||
<volume>
|
||||
<name>cache-${test-build-id}.work</name>
|
||||
|
@ -24,7 +24,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
</image>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
@ -29,7 +29,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
</image>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
@ -26,7 +26,7 @@
|
||||
<configuration>
|
||||
<layout>ZIP</layout>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
</image>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</goals>
|
||||
<configuration>
|
||||
<image>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2</builder>
|
||||
<builder>ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1</builder>
|
||||
</image>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
@ -135,12 +135,12 @@ The following table summarizes the available parameters and their default values
|
||||
| `builder` +
|
||||
(`spring-boot.build-image.builder`)
|
||||
| Name of the builder image to use.
|
||||
| `paketobuildpacks/builder-noble-java-tiny:latest`
|
||||
| `paketobuildpacks/builder-jammy-java-tiny:latest`
|
||||
|
||||
| `trustBuilder` +
|
||||
(`spring-boot.build-image.trustBuilder`)
|
||||
| Whether to treat the builder as https://buildpacks.io/docs/for-platform-operators/how-to/integrate-ci/pack/concepts/trusted_builders/#what-is-a-trusted-builder[trusted].
|
||||
| `true` if the builder is one of `paketobuildpacks/builder-noble-java-tiny`, `paketobuildpacks/builder-jammy-java-tiny`, `paketobuildpacks/builder-jammy-tiny`, `paketobuildpacks/builder-jammy-base`, `paketobuildpacks/builder-jammy-full`, `paketobuildpacks/builder-jammy-buildpackless-tiny`, `paketobuildpacks/builder-jammy-buildpackless-base`, `paketobuildpacks/builder-jammy-buildpackless-full`, `gcr.io/buildpacks/builder`, `heroku/builder`; `false` otherwise.
|
||||
| `true` if the builder is one of `paketobuildpacks/builder-jammy-java-tiny`, `paketobuildpacks/builder-noble-java-tiny`, `paketobuildpacks/builder-jammy-tiny`, `paketobuildpacks/builder-jammy-base`, `paketobuildpacks/builder-jammy-full`, `paketobuildpacks/builder-jammy-buildpackless-tiny`, `paketobuildpacks/builder-jammy-buildpackless-base`, `paketobuildpacks/builder-jammy-buildpackless-full`, `gcr.io/buildpacks/builder`, `heroku/builder`; `false` otherwise.
|
||||
|
||||
| `imagePlatform` +
|
||||
(`spring-boot.build-image.imagePlatform`)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2025 the original author or authors.
|
||||
* Copyright 2012-2024 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -71,7 +71,7 @@ class ImageTests {
|
||||
void getBuildRequestWhenNoCustomizationsUsesDefaults() {
|
||||
BuildRequest request = new Image().getBuildRequest(createArtifact(), mockApplicationContent());
|
||||
assertThat(request.getName()).hasToString("docker.io/library/my-app:0.0.1-SNAPSHOT");
|
||||
assertThat(request.getBuilder().toString()).contains("paketobuildpacks/builder-noble-java-tiny");
|
||||
assertThat(request.getBuilder().toString()).contains("paketobuildpacks/builder-jammy-java-tiny");
|
||||
assertThat(request.isTrustBuilder()).isTrue();
|
||||
assertThat(request.getRunImage()).isNull();
|
||||
assertThat(request.getEnv()).isEmpty();
|
||||
@ -109,7 +109,7 @@ class ImageTests {
|
||||
Image image = new Image();
|
||||
image.trustBuilder = false;
|
||||
BuildRequest request = image.getBuildRequest(createArtifact(), mockApplicationContent());
|
||||
assertThat(request.getBuilder().toString()).contains("paketobuildpacks/builder-noble-java-tiny");
|
||||
assertThat(request.getBuilder().toString()).contains("paketobuildpacks/builder-jammy-java-tiny");
|
||||
assertThat(request.isTrustBuilder()).isFalse();
|
||||
}
|
||||
|
||||
|
@ -41,4 +41,4 @@ bootBuildImage {
|
||||
archiveFile = bootDistZip.archiveFile
|
||||
builder = "paketobuildpacks/builder-jammy-base:latest"
|
||||
environment = ['BP_JVM_VERSION': java.targetCompatibility.getMajorVersion()]
|
||||
}
|
||||
}
|
@ -41,4 +41,4 @@ bootBuildImage {
|
||||
archiveFile = distZip.archiveFile
|
||||
builder = "paketobuildpacks/builder-jammy-base:latest"
|
||||
environment = ['BP_JVM_VERSION': java.targetCompatibility.getMajorVersion()]
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user