Use noble buildpacks instead of jammy

Closes gh-42711
This commit is contained in:
Moritz Halbritter
2025-02-19 13:44:38 +01:00
parent f096707d03
commit 4f672b9588
70 changed files with 102 additions and 102 deletions

View File

@@ -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.1",
"--trustBuilder", "--runImage=paketobuildpacks/run-jammy-tiny", "--createdDate=2020-07-01T12:34:56Z",
"--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",
"--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.1";
String runImage = "docker.io/paketobuildpacks/run-jammy-tiny:latest";
String buildpackImage = "ghcr.io/spring-io/spring-boot-test-info:0.0.1";
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";
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.1";
String runImage = "docker.io/paketobuildpacks/run-jammy-tiny:latest";
String buildpackImage = "ghcr.io/spring-io/spring-boot-test-info:0.0.1";
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";
removeImages(builderImage, runImage, buildpackImage);
BuildResult result = this.gradleBuild.buildAndFail("bootBuildImage");
String projectName = this.gradleBuild.getProjectDir().getName();

View File

@@ -4,8 +4,8 @@ plugins {
}
bootBuildImage {
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"]
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"]
imagePlatform = "linux/arm64"
}

View File

@@ -8,7 +8,7 @@ if (project.hasProperty('applyWarPlugin')) {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
applicationDirectory = "/application"
}

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
buildWorkspace {
bind {

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
bindings = [ "${projectDir}/bindings/ca-certificates:/platform/bindings/certificates" as String ]
}

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
buildpacks = [ "spring-boot/spring-boot-test-info" ]
}

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
buildpacks = [ "file://${projectDir}/buildpack/hello-world" as String ]
}

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
buildpacks = [ "file://${projectDir}/hello-world.tgz" as String ]
}

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
buildpacks = ["ghcr.io/spring-io/spring-boot-test-info:0.0.1"]
buildpacks = ["ghcr.io/spring-io/spring-boot-test-info:0.0.2"]
}

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
createdDate = "2020-07-01T12:34:56Z"
}

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
createdDate = "now"
}

View File

@@ -5,7 +5,7 @@ plugins {
bootBuildImage {
imageName = "example/test-image-custom"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
runImage = "paketobuildpacks/run-jammy-tiny"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
runImage = "paketobuildpacks/run-noble-tiny"
pullPolicy = "IF_NOT_PRESENT"
}

View File

@@ -5,6 +5,6 @@ plugins {
bootBuildImage {
imageName = "example/test-image-name"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
}

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
securityOptions = []
}

View File

@@ -8,6 +8,6 @@ bootJar {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
}

View File

@@ -8,7 +8,7 @@ if (project.hasProperty('applyWarPlugin')) {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
network = "none"
}

View File

@@ -10,6 +10,6 @@ if (project.hasProperty('applyWarPlugin')) {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = PullPolicy.ALWAYS
}

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
tags = [ "example.com/myapp:latest" ]
}

View File

@@ -8,7 +8,7 @@ if (project.hasProperty('applyWarPlugin')) {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
trustBuilder = true
pullPolicy = "IF_NOT_PRESENT"
}

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
buildWorkspace {
volume {

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
archiveFile = bootWar.archiveFile
}
}

View File

@@ -4,8 +4,8 @@ plugins {
}
bootBuildImage {
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"]
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"]
imagePlatform = "linux/arm64"
}

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
buildCache {
volume {
name = "build-cache-volume"

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
environment = ["FORCE_FAILURE": "true"]
}

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
buildpacks = [ "urn:cnb:builder:example/does-not-exist:0.0.1" ]
}

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
createdDate = "invalid date"
}

View File

@@ -4,7 +4,7 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
tags = [ "example/Invalid-Tag-Name" ]
}

View File

@@ -8,6 +8,6 @@ if (project.hasProperty('applyWarPlugin')) {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
pullPolicy = "IF_NOT_PRESENT"
}

View File

@@ -4,6 +4,6 @@ plugins {
}
bootBuildImage {
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.1"
builder = "ghcr.io/spring-io/spring-boot-cnb-test-builder:0.0.2"
publish = true
}

View File

@@ -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-jammy-java-tiny:latest`
| `paketobuildpacks/builder-noble-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-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.
| `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.
| `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-jammy-java-tiny:latest` contains a reduced set of system libraries and does not include a shell.
NOTE: The default builder `paketobuildpacks/builder-noble-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`.

View File

@@ -174,7 +174,7 @@ class BootBuildImageTests {
@Test
void whenNoBuilderIsConfiguredThenRequestHasDefaultBuilder() {
BuildRequest request = this.buildImage.createRequest();
assertThat(request.getBuilder().getName()).isEqualTo("paketobuildpacks/builder-jammy-java-tiny");
assertThat(request.getBuilder().getName()).isEqualTo("paketobuildpacks/builder-noble-java-tiny");
assertThat(request.isTrustBuilder()).isTrue();
}