Commit Graph
3390 Commits
Author SHA1 Message Date
Jonathan A. Sternberg 1886e232c5 dap: implement variable references
Implement variable references to inspect the state of a stack frame.

Variable reference ids are composed of two sections. A thread mask that
is the first 8 bytes and the remainder is an increasing number that gets
reset each time a thread is resumed. This allows the adapter to know
which thread to delegate the variables request to and allows the
variable references to still remain confined to each thread. An int32 is
used for this because variable references need to be in the range of
(0, 2^32).

At the moment, only the platform variables and some of the exec
operations for an operation. These are labeled as "arguments" to the
stack frame.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2025-07-14 10:59:05 -05:00
Tõnis TiigiandGitHub 266db938a7 Merge pull request #3302 from jsternberg/dap-breakpoints
dap: implement first pass at breakpoints
2025-07-14 08:58:12 -07:00
Jonathan A. Sternberg 0dddf0a7b8 dap: implement first pass at breakpoints
Implement the first iteration of breakpoints. When a breakpoint is set,
it starts unverified. When a thread begins evaluation, it tries to see
if a breakpoint corresponds to one of the parsed instructions and will
verify it.

Breakpoints work when continue is used.

At the current moment, setting breakpoints while a thread is currently
running doesn't work. Breakpoints are rechecked each time execution is
about to restart.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2025-07-14 09:19:17 -05:00
Tõnis TiigiandGitHub f6d2c5ed7a Merge pull request #3292 from crazy-max/compose-filtered-spec
bake: ignore unrelated fields when parsing compose files
2025-07-13 23:36:05 -07:00
Tõnis TiigiandGitHub 661a1593f6 Merge pull request #3289 from crazy-max/bake-stdlib-description
bake: set missing stdlib functions description
2025-07-11 17:27:15 -07:00
Tõnis TiigiandGitHub 9a07004534 Merge pull request #3290 from thaJeztah/fix_lint
fix some linting issues
2025-07-10 08:30:29 -07:00
Tõnis TiigiandGitHub 39ee904262 Merge pull request #3298 from crazy-max/cmd-fix-duplicated-usage
cmd: fix duplicated commands description
2025-07-09 17:44:46 -07:00
Tõnis TiigiandGitHub e3eb64e73d Merge pull request #3294 from jsternberg/dap-stop-on-entry
dap: support stopOnEntry to configure behavior when starting the debugger
2025-07-09 13:05:41 -07:00
Tõnis TiigiandGitHub d902b19e61 Merge pull request #3305 from crazy-max/build-cache-docs
docs: update links and add missing type for build cache exporters
2025-07-09 10:25:41 -07:00
CrazyMaxandGitHub 84f188a035 Merge pull request #3304 from crazy-max/update-readme
chore: readme cleanup
2025-07-09 12:43:15 +02:00
CrazyMax 42dcd3c655 docs: update links and add missing type for build cache exporters
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-09 12:32:04 +02:00
CrazyMax 20e99f69cf chore: readme cleanup
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-09 12:17:25 +02:00
Tõnis TiigiandGitHub 3b452204b0 Merge pull request #3300 from crazy-max/history-bootstrap
history: bootstrap builder
2025-07-08 16:22:09 -07:00
CrazyMax af0090e434 history: bootstrap builder
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-08 11:11:37 +02:00
Jonathan A. Sternberg a291698eaf dap: support stopOnEntry to configure behavior when starting the debugger
This will configure the default behavior when beginning to evaluate a
build target. When `stopOnEntry` is used, it will default to `stepNext`.
Otherwise, `stepContinue` will be used.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2025-07-07 09:39:23 -05:00
CrazyMax b6cd86e068 cmd: fix duplicated commands description
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-07 11:58:45 +02:00
CrazyMax c124b14978 bake: ignore unrelated fields when parsing compose files
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-04 08:09:14 +02:00
Tõnis TiigiandGitHub 0c747263ef Merge pull request #3279 from jsternberg/dap-step
dap: add stack traces with next and continue functionality
2025-07-03 18:13:13 -07:00
Jonathan A. SternbergandGitHub 3a3fc54e33 Merge pull request #3293 from jsternberg/dap-adapter-test-flaky
dap: increase timeout for receiving configuration done in adapter test
2025-07-03 09:47:42 -05:00
Jonathan A. Sternberg 4f2e23a9b8 dap: add stack traces with next and continue functionality
It is now possible to send next and continue as separate signals. When
executing a build, the debug adapter will divide the LLB graph into
regions. Each region corresponds to an uninterrupted chain of
instructions. It will also record which regions depend on which other
ones.

This determines the execution order and it also determines what the
stack traces look like.

When continue is used, we will attempt to evaluate the last leaf node
(the head). If we push next, we will determine which digest would be the
next one to be processed.

In the future, this will be used to also support breakpoints.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2025-07-03 09:18:55 -05:00
Jonathan A. Sternberg f03ed8cc9f dap: increase timeout for receiving configuration done in adapter test
Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2025-07-03 09:12:34 -05:00
CrazyMax 07e322663a vendor: github.com/compose/compose-go/v2 891fce532a51
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-03 15:53:45 +02:00
CrazyMaxandGitHub a007368729 Merge pull request #3291 from crazy-max/chore-rm-comment
otelutil: remove unrelated comment
2025-07-03 14:33:49 +02:00
CrazyMax 84e03159a6 otelutil: remove unrelated comment
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-03 13:50:50 +02:00
Sebastiaan van Stijn 1205802f63 util/otelutil: change uses of deprecated instrumentation.Library
While the interface's signature uses the deprecated "Library" type,
and upstream documents it as "needed for backward compatibility";
https://github.com/open-telemetry/opentelemetry-go/blob/0f7f1d0bad21aba18feaadc0171c53705fbda419/sdk/trace/span.go#L62-L65

The Library type is now an alias for Scope, so using the non-deprecated
type still satisfies the interface;
https://github.com/open-telemetry/opentelemetry-go/blob/0f7f1d0bad21aba18feaadc0171c53705fbda419/sdk/instrumentation/library.go#L6-L9

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-07-03 13:40:29 +02:00
Sebastiaan van Stijn fd87647da1 use "#nosec" instead of "nolint:gosec" to be more specific
The `#nosec` comment allows ignoring a specific rule; this prevents
potentially other "gosec" linting failulres from being silently ignored.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-07-03 13:31:06 +02:00
Sebastiaan van Stijn 5da2ff5990 bake/hclparser/gohcl: fix typo
Looks like we forked this code, including the typo. As we already modify
the code to add the `//nolint`, we may as well fix the typo itself instead.
https://github.com/hashicorp/hcl/blob/dfa124f3c93ff1764fda03702a7a9aa8c9db48d8/gohcl/decode_test.go#L417-L423

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-07-03 13:27:37 +02:00
CrazyMax ddec7679f6 bake: set missing stdlib functions description
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-03 08:17:42 +02:00
CrazyMaxandGitHub 55698253a5 Merge pull request #3287 from crazy-max/bake-stdlib-docs
docs: generate docs for bake standard library functions
2025-07-03 08:14:01 +02:00
CrazyMax 6997d61998 docs: generate docs for bake standard library functions
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-02 23:57:02 +02:00
Tõnis TiigiandGitHub 758ea75f60 Merge pull request #3235 from jsternberg/dap-handler
dap: add debug adapter implementation
2025-07-02 12:58:07 -07:00
Tõnis TiigiandGitHub 87371a89c2 Merge pull request #3283 from crazy-max/buildkit-0.23.2
dockerfile: update buildkit to 0.23.2
2025-07-02 12:56:33 -07:00
CrazyMax 4c47a576bf dockerfile: update buildkit to 0.23.2
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-02 10:47:24 +02:00
Tõnis TiigiandGitHub 9a5cbaca15 Merge pull request #3278 from crazy-max/fix-exit-after-defer
cmd: fix possible skipped defers for build and bake
2025-07-01 09:32:05 -07:00
Tõnis TiigiandGitHub 2b5a8c661f Merge pull request #3280 from crazy-max/bake-target-pattern
bake: add pattern matching for targets input
2025-07-01 09:31:32 -07:00
CrazyMaxandGitHub 84f6e845dc Merge pull request #3282 from glours/bump-compose-go-v2.7.1
bump compose-go to version v2.7.1
2025-07-01 12:58:19 +02:00
Guillaume Lours e99190b8b2 bump compose-go to version v2.7.1
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
2025-07-01 12:26:25 +02:00
CrazyMax 7c22db3c34 bake: add pattern matching for targets input
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-01 10:53:02 +02:00
CrazyMaxandGitHub a2da10ad7e Merge pull request #3276 from crazy-max/compose-dotenv-evaluate
compose: evaluate vars from current env in dotenv file
2025-07-01 10:13:54 +02:00
CrazyMax a711b8ff88 cmd: fix possible skipped defers for build and bake
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-01 09:45:27 +02:00
CrazyMax 68b49403a3 compose: evaluate vars from current env in dotenv file
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-01 09:43:17 +02:00
Tõnis TiigiandGitHub f6c730ec87 Merge pull request #3277 from crazy-max/bake-fix-envfiles
bake: fix BUILDX_BAKE_FILE env behavior
2025-06-30 20:27:29 -07:00
Tõnis TiigiandGitHub c45de54bad Merge pull request #3275 from crazy-max/compose-dotenv-dir
compose: ignore dotenv that is a directory
2025-06-30 20:25:18 -07:00
Jonathan A. Sternberg 42599a7d49 dap: add debug adapter implementation
Adds a simple implementation of the debug adapter that supports the very
basics of a debug adapter.

It supports the launch request, the configuration done request, the
creation of threads, stopping, resuming, and disconnecting from server.

It does not support custom breakpoints, stack traces, or variable
inspection yet. These are planned to be added in the future.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
2025-06-30 10:51:20 -05:00
CrazyMax 40e3e5a27e compose: ignore dotenv that is a directory
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-30 17:11:54 +02:00
CrazyMax f1db389f07 bake: fix BUILDX_BAKE_FILE env behavior
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-30 15:17:21 +02:00
Tõnis TiigiandGitHub 6deb9ff384 Merge pull request #3269 from crazy-max/alpine-3.22
dockerfile: update alpine to 3.22
2025-06-26 12:19:14 -07:00
Tõnis TiigiandGitHub 6e30826a67 Merge pull request #3270 from thaJeztah/bump_otel
vendor: align otel deps to v0.60.0 / v1.35.0
2025-06-26 11:00:45 -07:00
Tõnis TiigiandGitHub 0bed0b5653 Merge pull request #3242 from rrjjvv/new-bakefile-env-var
Allow bake files to be specified via environment variable
2025-06-25 08:54:04 -07:00
Sebastiaan van Stijn 5c3e534a79 vendor: align otel deps to v0.60.0 / v1.35.0
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-06-25 12:50:03 +02:00