Files
Josh van Leeuwen 66f70d0a1b tests, ci: fix integration flakes, the 1.18 skew run and push retries (#10869)
Version Skew (dapr-sidecar-master) has failed on every master push since
re-arm its wake-up reminder on a duplicate result, which #10819 removed
on purpose. Add a 1.18 skew patch that runs the duplicate against a
running workflow, as master's test does (jobs 118237499962,
118602178658).

ports/internalgrpcshutdown released the app as soon as the internal
gRPC port was free. The port is released before daprd closes its
components, so the message could complete before the subscription
started draining, and the drain then cancelled the stream before the ack
was sent. Hold the app until daprd logs that it is shutting down the
pubsub component, and a second more, so the drain counts the message as
in flight (jobs 117161252491, 118638648849, 118638648507, 118628279831).

actors/schedulerplacement/bothalive checked the capability bit before
every scheduler's own probe had sighted the placement service; wait for
it. Its WatchHosts helper now cancels each stream and reports errors
instead of reading them as "not capable" (jobs 116946105596,
118530298187).

actors/reminders/scheduler/durable required exactly two firings per
reminder, but the one in flight at the interrupt is redelivered to the
second daprd; allow one redelivery (job 116938966999).

daprd/workflow/loadbalance/haltparked started the rebalance before the
completions had parked on the executor actors, so they were routed to
the new owner and nothing was handed off; wait for the complete_actor
route count first (job 118237503385).

Pre-fetch the root module and install gotestsum with retries in
test-deps, so unit tests get them too (job 118311894549). Push images
with the existing docker-push-retry target in dapr.yml, and back off 30s
and 60s between its attempts, as the registry limit is per minute (jobs
118237502871, 118530298592, 116955838537).

Signed-off-by: joshvanl <me@joshvanl.dev>
2026-10-21 11:04:33 +00:00
..
2025-07-08 20:13:21 -03:00

Dockerfiles

This includes dockerfiles to build Dapr release and debug images and development container images for go dev environment.

  • Dockerfile: Dapr Release Image
  • Dockerfile-debug: Dapr Debug Image - WIP
  • Dockerfile-dev: Development container image for VS Code Remote-Containers and GitHub Codespaces.

Dev Container

Container build args

The Dev Container can be rebuilt with custom options. Relevant args (and their default values) include:

  • GOVERSION (default: 1.26.10)
  • INSTALL_ZSH (default: true)
  • KUBECTL_VERSION (default: latest)
  • HELM_VERSION (default: latest)
  • MINIKUBE_VERSION (default: latest)
  • DAPR_CLI_VERSION (default: latest)
  • PROTOC_VERSION (default: 25.4)
  • PROTOC_GEN_GO_VERSION (default: 1.32)
  • PROTOC_GEN_GO_GRPC_VERSION (default: 1.3)
  • GOLANGCI_LINT_VERSION (default: 1.45.2)

Setup multi-arch Docker builds

Building multi-arch Docker images requires using QEMU, which we do not distribute as part of the container image.

To configure Docker within the dev container for multi-arch builds, within the dev container run this command:

/usr/local/share/setup-docker-multiarch.sh