Commit Graph

430 Commits

Author SHA1 Message Date
Andy Wilkinson
aa9e75ed3c Merge branch '3.3.x' into 3.4.x
Closes gh-45610
2025-05-20 11:32:26 +01:00
Andy Wilkinson
5ed981df9c Migrate from gcr.io to docker.io for Paketo images
Closes gh-45609
2025-05-20 11:23:28 +01:00
Phillip Webb
fa5d94fb4d Merge branch '3.3.x' into 3.4.x 2025-05-08 12:25:22 -07:00
Phillip Webb
39a402b5ef Update copyright year of changed files 2025-05-08 12:24:57 -07:00
Moritz Halbritter
66b255573d Merge branch '3.3.x' into 3.4.x
Closes gh-45329
2025-04-29 13:37:52 +02:00
Johnny Lim
9a0f7a4013 Add more tests for Image.getOs()
See gh-45305

Signed-off-by: Johnny Lim <izeye@naver.com>
2025-04-29 13:35:22 +02:00
Phillip Webb
f526666e4e Merge branch '3.3.x' into 3.4.x
Closes gh-45256
2025-04-22 19:12:57 -07:00
Phillip Webb
f6dae1397d Add application directory layer to ephemeral builder for Podman support
Update `EphemeralBuilder` so that it adds an additional layer that
containing an empty application (aka workspace) directory owned by
the build user.

Prior to this commit, the directory was only bound. This could cause
issues on Podman where, unlike Docker, the bound directory is owned
by `root`.

Fixes gh-45233
2025-04-22 19:11:45 -07:00
Phillip Webb
a506d2bdb5 Fix merge commit error in header 2025-04-11 10:19:03 -07:00
Phillip Webb
35dc8e6f88 Merge branch '3.3.x' into 3.4.x 2025-04-11 09:42:13 -07:00
Phillip Webb
2143d702f2 Polish boolean members that can use the default false value 2025-04-11 09:32:35 -07:00
Phillip Webb
ef9ad41b0a Merge branch '3.3.x' into 3.4.x
Closes gh-45166
2025-04-11 09:19:32 -07:00
Yanming Zhou
0a1c9060c5 Polish ternary operator
See gh-45156

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2025-04-11 09:19:01 -07:00
Phillip Webb
96899e08d4 Merge branch '3.3.x' into 3.4.x 2025-04-10 16:30:04 -07:00
Phillip Webb
935d759754 Fix 'Protect against empty OS string in Docker Image' logic
See gh-45152
2025-04-10 16:29:59 -07:00
Phillip Webb
5a3fc4a48b Merge branch '3.3.x' into 3.4.x
Closes gh-45153
2025-04-10 16:08:56 -07:00
Phillip Webb
c071f56653 Protect against empty OS string in Docker Image
Update `Image` to protect against `os` being `null` or and empty
String.

Fixes gh-45152
2025-04-10 15:47:55 -07:00
Moritz Halbritter
97ed923e50 Explicitly set Host header when using LocalHttpClientTransport
Closes gh-45028
2025-04-08 14:29:16 +02:00
Phillip Webb
fc9937d05a Merge branch '3.3.x' into 3.4.x 2025-04-03 18:06:33 -07:00
Phillip Webb
88e8c17369 Update copyright year of changed files 2025-04-03 18:06:14 -07:00
Moritz Halbritter
01719c41fa Merge branch '3.3.x' into 3.4.x
Closes gh-44727
2025-03-17 08:55:16 +01:00
youngjin_dev
a164dab25d Fix Integer conversion in getProgress() method
See gh-44718

Signed-off-by: youngjin_dev <qazkyj0310@gmail.com>
2025-03-17 08:52:15 +01:00
Phillip Webb
6eb7d3411b Merge branch '3.3.x' into 3.4.x 2025-03-14 15:14:30 -07:00
Phillip Webb
896b5767fe Polish 2025-03-14 13:36:04 -07:00
Moritz Halbritter
d93f4f5554 Throw exception if pulled image platform doesn't match the requested platform
Closes gh-44059
2025-03-07 09:28:17 +01:00
Moritz Halbritter
282571ae1e Merge branch '3.3.x' into 3.4.x 2025-03-07 08:21:13 +01:00
Moritz Halbritter
5ec099756f Fix potential NPE when passing 'null' as params 2025-03-07 08:17:37 +01:00
Moritz Halbritter
2e74ce8bf2 Merge branch '3.3.x' into 3.4.x
Closes gh-44630
2025-03-06 17:39:26 +01:00
Moritz Halbritter
a807a07a59 Always try to deserialize message in case of Docker transport errors
Before this commit, if the status code was 4xx or 500, we tried to read the errors
object, consuming the http entity. When we tried to deserialize the message,
the http entity was already consumed, an IOException has been thrown and null
is returned for the message.

Now, we read the content in a byte[] and deserialize the errors and the message
from that. This ensures that we can read both the errors and the message.

Closes gh-44628
2025-03-06 17:27:00 +01:00
Phillip Webb
123502b8d7 Restore use of fixed version when calling docker APIs
Update `DockerApi` so that calls are made using a fixed version. For
most calls this will be `v1.24`, however, for calls with a platform
we must use the `v1.41`.

When possible, we check that the Docker version in use meets the
required minimum, however, if we can't detect the running version
we now proceed and let the actual API call fail. This is due to the
fact that the `/_ping` endpoint may not always be available. For
example, it is restricted when building from a BitBucket CI pipeline.

Fixes gh-43452
2024-12-10 13:14:20 -08:00
Phillip Webb
dd64b0648f Merge branch '3.3.x'
Closes gh-43356
2024-12-02 13:59:53 -08:00
Phillip Webb
0afbc0b23c Polish 'Accept Docker progress on numbers >2GB'
Restore `int` returns for existing methods and deprecate them in
favor of a new `asPercentage()` method.

See gh-43328
2024-12-02 13:58:03 -08:00
Wolfgang Kronberg
d8565185e8 Accept Docker progress on numbers >2GB
Update `ProgressUpdateEvent` to support images of a file size
>2GB without provoking build failures.

See gh-43328
2024-12-02 13:56:09 -08:00
Andy Wilkinson
32433e84f3 Merge branch '3.3.x'
Closes gh-43270
2024-11-22 15:46:38 +00:00
Andy Wilkinson
bb3651b7d1 Reduce warnings reported by Eclipse
Closes gh-43269
2024-11-22 15:39:35 +00:00
Phillip Webb
f77c3bbd6b Merge branch '3.3.x'
Closes gh-43171
2024-11-14 15:50:15 -08:00
Phillip Webb
66ec6b32e3 Merge branch '3.2.x' into 3.3.x
Closes gh-43170
2024-11-14 15:50:04 -08:00
Phillip Webb
25b6477aa8 Support alternative media type format
Update `ExportedImageTar` media type detection to support `tar+gzip`
as well as `tar.gzip`. Recent updates to Docker Desktop appear to have
changed the format.

Fixes gh-43126
2024-11-14 15:25:15 -08:00
Phillip Webb
a293560237 Support nested OCI indexes
Update `ExportedImageTar.IndexLayerArchiveFactory` to support nested
indexes. Nested indexes support a layer of interaction where the
`index.json` file points to a blob that contains the read index to use.

Prior to this commit, we only supported indexes provided directly by
the `index.json` file. This missing support results in "buildpack.toml:
no such file or directory" errors when referencing specific buildpacks
and using Docker Engine 27.3.1 or above.

See gh-43126
2024-11-14 15:24:47 -08:00
Andy Wilkinson
c6e19517be Merge branch '3.3.x'
Closes gh-43070
2024-11-08 09:55:36 +00:00
Andy Wilkinson
81872afd53 Merge branch '3.2.x' into 3.3.x
Closes gh-43069
2024-11-08 09:55:22 +00:00
Andy Wilkinson
2fa28fb822 Improve error reporting when image loading fails
Closes gh-31243
2024-11-08 09:51:57 +00:00
Phillip Webb
dbb5e05ebf Merge branch '3.3.x'
Closes gh-42992
2024-11-04 16:19:04 -08:00
Phillip Webb
189e49f6d6 Merge branch '3.2.x' into 3.3.x
Closes gh-42991
2024-11-04 15:56:29 -08:00
Phillip Webb
c62a018830 Align buildpack certificate and key parsers with SSL versions
Closes gh-37969
2024-11-04 15:53:39 -08:00
Phillip Webb
269f18c0ca Merge branch '3.3.x'
Closes gh-42990
2024-11-04 14:34:39 -08:00
Phillip Webb
4a7c757945 Merge branch '3.2.x' into 3.3.x
Closes gh-42989
2024-11-04 14:34:17 -08:00
Phillip Webb
202db9b7f4 Update copyright year of changed files 2024-11-04 14:28:23 -08:00
Phillip Webb
2fa1180332 Make NamedPipeSocket.connect a no-op to fix connection exceptions
Update `NamedPipeSocket` so that `connect` methods are now no-ops. This
restores the behavior of Spring Boot 3.3 which previously handled the
case by overriding `ConnectionSocketFactory.connectSocket`. The newer
HTTP client code uses the `DetachedSocketFactory` interface which
doesn't offer a method that we can override, so instead we must change
the socket implementation itself.

Fixes gh-42952
2024-11-01 13:22:07 -07:00
Phillip Webb
bc5a25bf16 Polish 2024-11-01 13:14:05 -07:00