Commit Graph
3973 Commits
Author SHA1 Message Date
CrazyMaxandGitHub 08152f55be Merge pull request #3727 from jsternberg/ci-netbsd-remove
ci: remove test-bsd-unit workflow
2026-03-12 17:39:08 +01:00
Jonathan A. Sternberg 8e29ab9493 ci: remove test-bsd-unit workflow
This workflow doesn't provide much value. It mostly fails on temporary
errors regarding vagrant and doesn't provide a very useful signal that
the build is broken.

We perform cross-compilation and ensure `buildx` still compiles on
different bsd variants. That should be enough to make sure we don't
inadvertently break something.

Closes #3711.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2026-03-12 10:36:36 -05:00
Tõnis TiigiandGitHub 63ebbebdcf Merge pull request #3715 from tonistiigi/imagetools-test-coverage
tests: improve imagetools create integration test coverage
2026-03-11 09:09:22 -07:00
CrazyMaxandGitHub c4b5d6766e Merge pull request #3697 from crazy-max/build-arg-proxy
build: make proxy build-arg override check case-insensitive
2026-03-11 09:28:17 +01:00
Tonis Tiigi 3281dce28c tests: cover imagetools dry-run
Add dry-run assertions to imagetools merge and platform filter
integration tests to verify emitted manifest JSON before push.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-10 21:11:08 -07:00
Tonis Tiigi d84544176d tests: cover imagetools file input
Add integration coverage for imagetools create --file and verify a
descriptor read from disk resolves to the expected copied manifest.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-10 21:05:57 -07:00
Tonis Tiigi b90d59a2e9 tests: cover imagetools append
Add integration coverage for imagetools create --append and verify the
target is rewritten as a two-platform manifest list.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-10 21:01:48 -07:00
Tonis Tiigi 0d82d2b115 tests: cover imagetools platform filtering
Add integration coverage for imagetools create --platform on an attested
multi-platform image and verify only the matching attestation remains.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-10 20:53:04 -07:00
Tonis Tiigi 0a5fccb7be tests: cover imagetools signature referrers
Add integration coverage for copying attestation referrers with fake
sigstore signature manifests on a multi-platform source image.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-10 20:43:35 -07:00
Tonis Tiigi 5b2a4ccd2d tests: add single arch attestation fallback case to test
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-10 20:29:22 -07:00
Tonis Tiigi b43520b4ca tests: add imagetools test for merged create
With and without attestations.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-10 20:25:57 -07:00
Tonis Tiigi 2682d345fa tests: tighten imagetools copy assertions
Verify copied index content keeps the same digest and descriptor metadata.
Add function comments to clarify each imagetools integration test case.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-10 19:24:59 -07:00
Tõnis TiigiandGitHub b046c3934c Merge pull request #3712 from jsternberg/dap-skip-context-without-source
dap: skip the load build context step when it doesn't have an associated source line
2026-03-10 18:39:57 -07:00
Tõnis TiigiandGitHub 9e31c0faf1 Merge pull request #3710 from jsternberg/dap-tests-race-condition
dap: fix the race condition in the dap unit tests
2026-03-10 18:24:55 -07:00
Tõnis TiigiandGitHub 1e2b0688db Merge pull request #3709 from jsternberg/dap-loaded-source-path
dap: properly map source paths to client side paths
2026-03-10 18:08:19 -07:00
Tõnis TiigiandGitHub f09e2292fb Merge pull request #3704 from jsternberg/dap-case-insensitive-breakpoints
dap: detect breakpoints for files when the case differs
2026-03-10 18:01:49 -07:00
Jonathan A. Sternberg 3e4bd229ab dap: skip the load build context step when it doesn't have an associated source line
Skip the load build context step when it doesn't have an associated
source line. This caused an extra branch to be created in an otherwise
pretty straightforward dockerfile where stepping in on a copy
instruction that used the context would stay on the same line because it
"stepped into" the context loading rather than being treated the same as
step next.

This resulted in some bad and confusing ergonomics with the cursor
position that were a bit confusing and unexpected.

There might be more areas to try and prune but the most common one, a
single branch instruction that doesn't have a location, now gets skipped
which is the exact thing that was generated for loading the context.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2026-03-10 12:35:13 -05:00
Jonathan A. Sternberg ca9df87014 dap: fix the race condition in the dap unit tests
The context used for serving the dap server was being canceled too early
because it used defer which would initiate at the end of the function
while every other cleanup function used `t.Cleanup` which executes in
its own goroutine.

One possible solution was to move the cancel to the cleanup, but the
context being passed to serve and start doesn't make sense because if it
ever does get canceled, it'll likely cause a similar race condition with
`Stop`.

This removes the context from the methods that were causing this issue
in favor of just relying on the caller calling `Stop` when they are done
with the adapter and server.

This seems to have only affected tests and I don't believe it affected
the actual dap command.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2026-03-10 12:03:35 -05:00
Jonathan A. Sternberg 4f3de79c13 dap: properly map source paths to client side paths
Properly map the source paths from the metadata in the solve to the
client side paths. The source path returns is relative to the context
that gets uploaded which is usually a subdirectory. The original code
noticed this when mapping the paths but made the invalid assumption that
the dockerfile would always be in the context path so it combined the
dockerfile name with the context path.

It is possible for the dockerfile to be in a subdirectory of the
context. In which case, we computed the paths incorrectly.

This modifies DAP to instead use the `DockerfileMappingDst` and
`DockerfileMappingSrc` which are special included variables to the
inputs that get filled in during the build for the purpose of mapping
the source path to the client side path.

Tests have also been added for this functionality to ensure it doesn't
break again. This should work with both absolute and relative paths
although absolute paths should probably be preferred for usage just
because they're less likely to result in weird things happening.

The sources are also normalized to always convert the source filenames
to absolute paths and DAP itself will accept relative paths but will
only ever communicate in absolute paths. When you set a breakpoint, it
will convert it to an absolute path and reference it in that way rather
than a relative path.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2026-03-10 09:17:42 -05:00
Tõnis TiigiandGitHub a5f49f0c17 Merge pull request #3696 from tonistiigi/bake-linked-target-fix
build: parallelize forced reference evaluation
2026-03-09 16:44:38 -07:00
CrazyMaxandGitHub c423bc738b Merge pull request #3706 from tonistiigi/windows-test-timings-bump
store: increase test timeouts for CI reliability
2026-03-09 11:51:07 +01:00
CrazyMaxandGitHub 2fcd416c24 Merge pull request #3705 from docker/dependabot/github_actions/docker/bake-action-7
build(deps): bump docker/bake-action from 6 to 7
2026-03-09 11:50:40 +01:00
Akihiro SudaandGitHub 9e632b4596 Merge pull request #3707 from tonistiigi/k8s-trim
kubernetes: trim client-go dependency surface
2026-03-09 04:13:38 +09:00
Tonis Tiigi 7c4703614d vendor: k8s v0.35.2
Drops the gogo-proto XXX_* methods.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-06 17:32:09 -08:00
Tonis Tiigi 6124ad9da4 kubernetes: lazily initialize kubeclient scheme
Use sync.OnceValue to initialize the kubeclient scheme, codec factory,
and parameter codec as a single lazy-loaded bundle.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-06 16:55:48 -08:00
Tonis Tiigi 5a7f7c286f kubernetes: trim client-go dependency surface
Replace the full generated clientset and global Kubernetes scheme
with a small local REST client layer and minimal scheme registration.

This keeps the existing kubeconfig/auth and remote exec behavior while
significantly reducing the linked and vendored Kubernetes dependency set.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-06 16:44:18 -08:00
Tonis Tiigi 6bbd0abf0f store: increase test timeouts for CI reliability
Bump timing thresholds in TestNodeLocking to avoid
flaky failures on slow CI runners (e.g. Windows).

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-06 15:06:06 -08:00
Jonathan A. Sternberg b521a083ba dap: detect breakpoints for files when the case differs
Case insensitive filesystems can cause breakpoints to not be seen or
verified. This is particularly true on Windows where the drive letter
can also participate in the filepath.

Change the detection logic for a breakpoint to be case insensitive. At
the same time, report the name of the source as part of the breakpoint
so that the editor can be told which casing we're expecting to be used.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2026-03-06 14:01:32 -06:00
dependabot[bot]andGitHub a00f4d6e08 build(deps): bump docker/bake-action from 6 to 7
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 6 to 7.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 18:33:12 +00:00
CrazyMaxandGitHub bb481888f9 Merge pull request #3693 from docker/dependabot/github_actions/docker/setup-qemu-action-4
build(deps): bump docker/setup-qemu-action from 3 to 4
2026-03-06 11:57:23 +01:00
CrazyMaxandGitHub ff5a387834 Merge pull request #3684 from thaJeztah/bump_moby
vendor: docker/cli v29.3.0, moby/api v1.54.0, moby/client v0.3.0
2026-03-06 11:23:00 +01:00
dependabot[bot]andGitHub 35492177d9 build(deps): bump docker/setup-qemu-action from 3 to 4
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 10:21:42 +00:00
CrazyMaxandGitHub 3ef2ebb13c Merge pull request #3692 from docker/dependabot/github_actions/docker/login-action-4
build(deps): bump docker/login-action from 3 to 4
2026-03-06 11:21:42 +01:00
CrazyMaxandGitHub 7e865417cd Merge pull request #3699 from tonistiigi/dockerfile-compose-v5.1.0
Dockerfile: update compose to 5.1.0
2026-03-06 11:21:11 +01:00
CrazyMaxandGitHub 6574d1bafa Merge pull request #3698 from docker/dependabot/github_actions/docker/setup-buildx-action-4
build(deps): bump docker/setup-buildx-action from 3 to 4
2026-03-06 11:20:42 +01:00
Tonis Tiigi 5478703490 tests: test updates after compose update
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-05 17:58:56 -08:00
Tonis Tiigi b6f1f3a9bf Dockerfile: update compose to 5.1.0
Fixes the possible "file already closed" error.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-05 15:41:04 -08:00
dependabot[bot]andGitHub da51d1df32 build(deps): bump docker/setup-buildx-action from 3 to 4
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 18:33:24 +00:00
Sebastiaan van Stijn c06971965f vendor: docker/cli v29.3.0, moby/api v1.54.0, moby/client v0.3.0
This also allows the client to connect with API v1.40 and up (Docker 19.03),
which previously was API v1.43 and up (Docker 25.0 and up).

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-03-05 16:38:27 +01:00
CrazyMax 189633f43c build: make proxy build-arg override check case-insensitive
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 16:16:54 +01:00
Tonis Tiigi 2adc53cfb3 build: parallelize forced reference evaluation
Use an errgroup helper to evaluate result refs concurrently during forced
evaluation, and fail fast on the first evaluation error.

This mitigates current case in bake where chained targets with
a multi-platform build could miss secrets and other session properties.

The outline for the issue case:
- Base target is solved but only lazily and not really loaded/tracked
in build graph yet.
- Child targets are loaded, base target waits.
- Evaluate is called for base stage (because it might be missing result
condition), child stage is processed as build result. This happens in
parallel.
- Because `Evaluate()` was called synchronously, it may have not been
 called yet for the second platform while the child target already
 needs to run `RUN --mount=type=secret`.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-04 18:09:41 -08:00
dependabot[bot]andGitHub dfd8d6c29c build(deps): bump docker/login-action from 3 to 4
Bumps [docker/login-action](https://github.com/docker/login-action) from 3 to 4.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-04 18:32:58 +00:00
Tõnis TiigiandGitHub d315c086c3 Merge pull request #3690 from crazy-max/policy-session
build: reuse build session for policy source resolution
2026-03-04 09:58:04 -08:00
CrazyMax 2ed4ece865 build: reuse build session for policy source resolution
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-04 17:21:20 +01:00
Tõnis TiigiandGitHub 08998a7e90 Merge pull request #3688 from tonistiigi/vendor-buildkit-v0.28.0
vendor: update buildkit to v0.28.0
2026-03-03 12:38:47 -08:00
Tonis Tiigi 55bef8178d vendor: update buildkit to v0.28.0
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-03 12:17:01 -08:00
Tõnis TiigiandGitHub 75c53e39a5 Merge pull request #3682 from crazy-max/bake-print-subdir
bake: preserve git subdir in remote bake context paths
2026-03-03 09:25:28 -08:00
CrazyMax 50fa13d859 bake: preserve git subdir in remote bake context paths
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-03 17:47:07 +01:00
Tõnis TiigiandGitHub 00cc36c402 Merge pull request #3678 from tonistiigi/bake-subdir-remote-fix
bake: fix remote named context subdir handling
2026-03-03 08:39:54 -08:00
Tõnis TiigiandGitHub 8f02b16216 Merge pull request #3685 from thaJeztah/snappier
vendor: github.com/golang/snappy v1.0.0
2026-03-03 08:38:56 -08:00