mirror of
https://github.com/dapr/dapr.git
synced 2026-10-28 16:46:37 +08:00
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>
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