Skip to content

Commit 1e7da4d

Browse files
committed
Allow digest builder references
Update `BuildRequest` to also allow digest based references. Closes gh-21879
1 parent 8a249da commit 1e7da4d

File tree

2 files changed

+11
-2
lines changed
  • spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src

2 files changed

+11
-2
lines changed

spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/build/BuildRequest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,9 @@ public class BuildRequest {
8484
*/
8585
public BuildRequest withBuilder(ImageReference builder) {
8686
Assert.notNull(builder, "Builder must not be null");
87-
return new BuildRequest(this.name, this.applicationContent, builder.inTaggedForm(), this.creator, this.env,
88-
this.cleanCache, this.verboseLogging);
87+
builder = (builder.getDigest() != null) ? builder : builder.inTaggedForm();
88+
return new BuildRequest(this.name, this.applicationContent, builder, this.creator, this.env, this.cleanCache,
89+
this.verboseLogging);
8990
}
9091

9192
/**

spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/test/java/org/springframework/boot/buildpack/platform/build/BuildRequestTests.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,14 @@ void withBuilderUpdatesBuilder() throws IOException {
9898
assertThat(request.getBuilder().toString()).isEqualTo("docker.io/spring/builder:latest");
9999
}
100100

101+
@Test
102+
void withBuilderWhenHasDigestUpdatesBuilder() throws IOException {
103+
BuildRequest request = BuildRequest.forJarFile(writeTestJarFile("my-app-0.0.1.jar")).withBuilder(ImageReference
104+
.of("spring/builder:@sha256:6e9f67fa63b0323e9a1e587fd71c561ba48a034504fb804fd26fd8800039835d"));
105+
assertThat(request.getBuilder().toString()).isEqualTo(
106+
"docker.io/spring/builder:@sha256:6e9f67fa63b0323e9a1e587fd71c561ba48a034504fb804fd26fd8800039835d");
107+
}
108+
101109
@Test
102110
void withCreatorUpdatesCreator() throws IOException {
103111
BuildRequest request = BuildRequest.forJarFile(writeTestJarFile("my-app-0.0.1.jar"));

0 commit comments

Comments
 (0)