Commit Graph
4007 Commits
Author SHA1 Message Date
Tõnis TiigiandGitHub ba04f8f7b4 Merge pull request #3687 from jsternberg/dap-filter-inputs
dap: defer inputs for a step to prevent overeager evaluation
2026-03-20 10:57:30 -07:00
Jonathan A. Sternberg c79061526f dap: defer inputs for a step to prevent overeager evaluation
When the debug thread was updated to always solve inputs from the
operation that it was tied to it became a bit overeager to evaluate
them. The intention of the steps is to have a single direct parent and
then potentially multiple "function calls" that can be evaluated with
step into and step out to leave.

With the change, that logic stayed in, but the inputs were always being
evaluated before they were stepped into or over. Now, when we construct
the steps, we also attach a list of inputs that we should defer
evaluation on to ensure we don't execute inputs that haven't been
executed yet.

It will then wrap the reference with a version that causes `Evaluate` to
do nothing. This prevents the overeager evaluation but allows the
reference to be evaluated if we need to read the filesystem.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2026-03-20 09:26:32 -05:00
Tõnis TiigiandGitHub a0a8f63cd5 Merge pull request #3730 from crazy-max/history-mv-buildname
history: move BuildName to util/history
2026-03-19 16:55:45 -07:00
Tõnis TiigiandGitHub 771e0de740 Merge pull request #3732 from tonistiigi/imagetools-manifest-regex
imagetools: use regex for manifest template matching
2026-03-18 18:25:27 -07:00
Tõnis TiigiandGitHub 1e54ca2ce7 Merge pull request #3731 from tonistiigi/imagetools-push-parallelization
imagetools: share ingester across concurrent copies
2026-03-18 18:25:14 -07:00
CrazyMaxandGitHub de2c485cd9 Merge pull request #3728 from allexistence/docs-clarify-bake-env-override
docs: clarify Bake environment variable override behavior
2026-03-18 17:21:54 +01:00
rishabh 8bcf041190 docs: clarify Bake environment variable override behavior
Signed-off-by: rishabh <rishank69@gmail.com>

docs: address review feedback on bake env lookup

Signed-off-by: rishabh <rishank69@gmail.com>
2026-03-18 22:51:13 +08:00
Tonis Tiigi 78439e263b imagetools: use regex for manifest template matching
Allow optional whitespace inside the {{.Manifest}} template
delimiters when detecting whole-manifest format strings.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-17 17:46:01 -07:00
Tonis Tiigi e4f6e373af imagetools: share ingester across concurrent copies
Reuse a single ingester per target repository when imagetools create
copies multiple manifests in parallel.

This lets the pushing ingester serialize same-digest pushes and avoids
racing duplicate blob uploads against registries to work around bug in
Registry v3.0.0 (and possibly others).

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-17 17:18:55 -07:00
CrazyMax b272a37d46 history: move BuildName to util/history
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-17 23:49:53 +01:00
Tõnis TiigiandGitHub c461e702bf Merge pull request #3716 from crazy-max/history-fix-finalize
history: finalize export records on their owning node
2026-03-17 12:34:14 -07:00
Tõnis TiigiandGitHub 3b8709777a Merge pull request #3701 from jsternberg/dap-fix-can-invoke
dap: fix the check to determine whether exec will succeed
2026-03-17 09:36:00 -07:00
Jonathan A. Sternberg b33ef2c9d4 dap: fix the check to determine whether exec will succeed
This refines the check for determining whether exec will succeed to work
when an error occurs. This check previously relied on the `Ref` being
populated in the result context but this would only happen if we were
paused from a breakpoint or by stepping. An error would not fill in this
field.

The check is now refined to use the new gateway filesystem exec API so
we can create the container and then check even if we don't have a
returned gateway reference. The logic to determine which mount to check
has also been moved.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2026-03-17 10:31:11 -05:00
CrazyMax 5245d50a5b tests: history finalize on multi-node
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-17 11:08:18 +01:00
CrazyMax c4e9dfcad9 bundle: use all node content stores during export
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-17 11:08:18 +01:00
CrazyMaxandCrazyMax b1a2f3006b history: finalize export records on their owning node
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-17 11:08:18 +01:00
CrazyMax 9fef35c40b e2e: test build records export
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-17 11:02:22 +01:00
CrazyMaxandGitHub ac1a8eed8e Merge pull request #3729 from docker/dependabot/github_actions/softprops/action-gh-release-2.6.1
build(deps): bump softprops/action-gh-release from 2.5.0 to 2.6.1
2026-03-17 10:10:17 +01:00
Tõnis TiigiandGitHub 19258b1d84 Merge pull request #3691 from jsternberg/dap-entrypoint-breakpoint
dap: fix skipped breakpoint when the breakpoint and the entrypoint were the same
2026-03-16 17:58:47 -07:00
dependabot[bot]andGitHub 1effa26aac build(deps): bump softprops/action-gh-release from 2.5.0 to 2.6.1
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.5.0 to 2.6.1.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/a06a81a03ee405af7f2048a818ed3f03bbf83c7b...153bb8e04406b158c6c84fc1615b65b24149a1fe)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: 2.6.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-16 19:03:20 +00:00
Tõnis TiigiandGitHub 88b75da82d Merge pull request #3717 from crazy-max/fix-history-export-clients
history: deduplicate node clients during export
2026-03-13 17:36:47 -07:00
Tõnis TiigiandGitHub 86381f1f38 Merge pull request #3721 from tonistiigi/imagetools-oci-layout
imagetools: add oci-layout support
2026-03-13 17:34:13 -07:00
Tonis Tiigi 863398c789 imagetools: pass referrer filter opts to oci-layout path
FetchReferrers accepted FetchReferrersOpt but dropped them
when resolving OCI layout referrers. Forward the options and
apply ArtifactTypes filtering so callers can narrow results
consistently for both registry and local layout sources.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-12 23:15:01 -07:00
Tonis Tiigi 6eb48d9c8c imagetools: fix oci-layout index update when blob exists
When pushing to an OCI layout where the top-level descriptor
blob already existed, pushOCILayout returned early without
updating index.json or writing pending referrers. Restructure
the control flow so the blob-exists case skips only the write
but still updates the index and flushes referrers.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-12 22:54:35 -07:00
Tonis Tiigi 3e5c05cb1f imagetools: support oci-layout referrers
Handle OCI layout referrers via subject-annotated index entries and add
integration coverage for copying signed attestations through oci-layout.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-12 22:45:01 -07:00
Tonis Tiigi 9894189361 imagetools: support oci-layout refs
Add oci-layout:// source and target support to imagetools create and
inspect while keeping merge, filter, and referrer logic shared.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-12 22:45:01 -07:00
Tonis Tiigi 71edf28d8e tests: add negative checks for imagetools signature coverage
Verify imagetools copies signatures only for attestation manifests and
does not copy image-manifest signatures or unsupported referrers.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-03-12 22:45:01 -07:00
Tõnis TiigiandGitHub f14c1ae88e Merge pull request #3725 from crazy-max/update-crazy-max-github
ci: update crazy-max/.github reusable workflows to latest
2026-03-12 14:49:17 -07:00
Tõnis TiigiandGitHub 18c3dc273c Merge pull request #3724 from crazy-max/tests-multi-node
ci: run integration tests with the remote multi-node worker
2026-03-12 11:37:37 -07:00
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
CrazyMax 8d14268b6f ci: update crazy-max/.github reusable workflows to latest
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-12 14:11:23 +01:00
CrazyMax 176e497922 tests: skip remote multi-node history cases
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-12 11:58:39 +01:00
CrazyMax 766592b2d1 tests: add remote multi-node worker
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-12 11:37:08 +01: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
Jonathan A. Sternberg 724afbb867 dap: fix skipped breakpoint when the breakpoint and the entrypoint were the same
We erroneously skipped a breakpoint when that breakpoint was the same as
the entrypoint and we did not use stop on entry. This is because we only
started evaluating breakpoints after the first step on the entrypoint
instead of at the entrypoint.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2026-03-11 10:52:50 -05:00
CrazyMax 4643e50bd3 history: deduplicate node clients during export
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-11 16:24:54 +01: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