Skip to content

driver: propagate feature detection errors - #4085

Draft
crazy-max wants to merge 2 commits into
docker:masterfrom
crazy-max:fix-driver-feature-detection
Draft

crazy-max wants to merge 2 commits into
docker:masterfrom
crazy-max:fix-driver-feature-detection

Conversation

@crazy-max

Copy link
Copy Markdown
Member

needs #4082

Address the Docker driver ListWorkers feature cache. Return detection errors through the driver interface and cache only successful results, so transient failures can be retried without being mistaken for unsupported capabilities.

This was deferred from #4082 because safely retrying failed probes requires updating the driver interface and its callers. Without error propagation, an early failure could disable default provenance while a later successful probe allows the build to proceed without it. Resolve features before constructing build options and reuse the successful result for capability checks, ensuring detection failures stop the build instead of silently changing its output.

Return daemon probe errors instead of treating them as unsupported features. Cache only successful results
per docker context so failed or canceled probes can be retried.

Probe the builder endpoint for the docker driver and the load destination for other drivers. Skip daemon
detection for tarball exports, and cover retries, cancellation, concurrent lookups, and exporter probe selection.

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
Return feature detection errors through the driver interface and cache only successful Docker
worker probes so transient failures can be retried.

Resolve features before constructing build options and reuse that result for capability checks. This
prevents failed probes from silently disabling default provenance before a later successful probe allows
the build to proceed. Report detection failures in debug inspection and cover retries, caching, and
provenance preservation.

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant