Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
8d954dc
Add design doc: finish sdk-tests Testcontainers migration + strip leg…
siri-varma Jul 10, 2026
5fc7858
Refine migration spec per review: kafka dep location, timer health-ch…
siri-varma Jul 10, 2026
3a8ac90
Add implementation plan: finish sdk-tests Testcontainers migration
siri-varma Jul 10, 2026
db483be
Refine plan per review: Toxiproxy import/docstring, ActorObject actor…
siri-varma Jul 10, 2026
3612e87
test: migrate ActorStateIT to Testcontainers (+ restartApp helper)
siri-varma Jul 10, 2026
dda7520
test: migrate ActorTimerRecoveryIT to Testcontainers
siri-varma Jul 10, 2026
9998fb4
test: migrate ActorReminderRecoveryIT to Testcontainers (+ restartSid…
siri-varma Jul 10, 2026
ab305a3
test: migrate ActorReminderFailoverIT to Testcontainers (+ shared pla…
siri-varma Jul 10, 2026
2faba9e
test: migrate WaitForSidecarIT to Testcontainers (+ newToxiproxy helper)
siri-varma Jul 10, 2026
b33c6a2
test: migrate ActorSdkResiliencyIT off ToxiProxyRun (kept @Disabled)
siri-varma Jul 10, 2026
5b5d01a
test: migrate BindingIT to Testcontainers Kafka + in-code bindings
siri-varma Jul 10, 2026
3ad067a
ci: drop Dapr CLI/init/Kafka/ToxiProxy setup from build job
siri-varma Jul 10, 2026
beaca0e
test: remove dead dapr-run harness, binding YAMLs, and local-test.yml
siri-varma Jul 10, 2026
ed7a653
Fix actor IT flakiness: share one placement/scheduler per JVM
siri-varma Jul 10, 2026
4bf928f
Merge branch 'master' into users/svegiraju/finish-testcontainers-migr…
siri-varma Jul 10, 2026
a92cb9b
docs: remove migration plan/spec scratch files
siri-varma Jul 10, 2026
de6a3e5
Fix TracingIT.http: skip Zipkin readiness probe in app bean
siri-varma Jul 10, 2026
327566c
Optimize docs
siri-varma Jul 10, 2026
c7fdb76
Fix validate-docs: keep site-deploy; javadoc:aggregate drops reportin…
siri-varma Jul 10, 2026
172476c
Update readme
siri-varma Jul 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 0 additions & 73 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,17 +112,7 @@ jobs:
spring-boot-display-version: 4.0.x
experimental: false
env:
GOVER: "1.20"
GOOS: linux
GOARCH: amd64
GOPROXY: https://proxy.golang.org
JDK_VER: ${{ matrix.java }}
DAPR_CLI_VER: 1.18.0
DAPR_RUNTIME_VER: 1.18.0
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.18.0/install/install.sh
DAPR_CLI_REF:
DAPR_REF:
TOXIPROXY_URL: https://github.com/Shopify/toxiproxy/releases/download/v2.5.0/toxiproxy-server-linux-amd64
steps:
- uses: actions/checkout@v7
- name: Check Docker version
Expand All @@ -132,69 +122,6 @@ jobs:
with:
distribution: 'temurin'
java-version: ${{ env.JDK_VER }}
- name: Set up Dapr CLI
run: wget -q ${{ env.DAPR_INSTALL_URL }} -O - | /bin/bash -s ${{ env.DAPR_CLI_VER }}
- name: Set up Go ${{ env.GOVER }}
if: env.DAPR_REF != '' || env.DAPR_CLI_REF != ''
uses: actions/setup-go@v6
with:
go-version: ${{ env.GOVER }}
- name: Checkout Dapr CLI repo to override dapr command.
uses: actions/checkout@v7
if: env.DAPR_CLI_REF != ''
with:
repository: dapr/cli
ref: ${{ env.DAPR_CLI_REF }}
path: cli
- name: Checkout Dapr repo to override daprd.
uses: actions/checkout@v7
if: env.DAPR_REF != ''
with:
repository: dapr/dapr
ref: ${{ env.DAPR_REF }}
path: dapr
- name: Build and override dapr cli with referenced commit.
if: env.DAPR_CLI_REF != ''
run: |
cd cli
make
sudo cp dist/linux_amd64/release/dapr /usr/local/bin/dapr
cd ..
- name: Uninstall Dapr runtime ${{ env.DAPR_RUNTIME_VER }}
run: dapr uninstall --all
- name: Ensure Dapr runtime uninstalled
run: |
while [ "$(docker ps -aq --filter 'name=^/dapr')" ]; do
echo "Waiting for Dapr containers to be deleted..."
sleep 5
done
echo "All dapr containers are deleted."
- name: Initialize Dapr runtime ${{ env.DAPR_RUNTIME_VER }}
run: dapr init --runtime-version ${{ env.DAPR_RUNTIME_VER }}
- name: Build and override daprd with referenced commit.
if: env.DAPR_REF != ''
run: |
cd dapr
make
mkdir -p $HOME/.dapr/bin/
cp dist/linux_amd64/release/daprd $HOME/.dapr/bin/daprd
cd ..
- name: Override placement service.
if: env.DAPR_REF != ''
run: |
docker stop dapr_placement
cd dapr
./dist/linux_amd64/release/placement &
- name: Spin local environment
run: |
docker compose -f ./sdk-tests/deploy/local-test.yml up -d kafka
docker ps
- name: Install local ToxiProxy to simulate connectivity issues to Dapr sidecar
run: |
mkdir -p /home/runner/.local/bin
wget -q ${{ env.TOXIPROXY_URL }} -O /home/runner/.local/bin/toxiproxy-server
chmod +x /home/runner/.local/bin/toxiproxy-server
/home/runner/.local/bin/toxiproxy-server --version
- name: Clean up and install sdk
run: ./mvnw clean install -B -q -DskipTests
- name: Integration tests using spring boot 3.x version ${{ matrix.spring-boot-version }}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/validate-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ jobs:
with:
distribution: 'temurin'
java-version: ${{ env.JDK_VER }}
cache: 'maven'
- name: Install jars
run: ./mvnw install -q -B -DskipTests
- name: Validate Java docs generation
Expand Down
21 changes: 4 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -266,8 +266,7 @@ Note: You may need to run `./mvnw clean` after changing this setting to remove a

#### Pre-Requisites
* [Pre-Requisites for the SDK](#pre-requisites)
* Docker installed
* [Docker Compose](https://docs.docker.com/compose/install/)
* Docker installed and running
* [Docker Desktop](https://www.docker.com/products/docker-desktop)
* Bash shell
* In Windows use [WSL2](https://docs.microsoft.com/en-us/windows/wsl/install)
Expand All @@ -280,23 +279,11 @@ This project depends on the rest of the JARs built by the other modules in the r

As a starting point for running the Integration Tests, first run `./mvnw clean install` from the root of the repo to build the JARs for the different modules, except the `sdk-tests` module.

#### Run all the dependent services spun up during build
#### Backing services (managed automatically by Testcontainers)

During normal CI build, docker compose is used to bring up services like MongoDB, Hashicorp Vault, Apache Zookeeper, Kafka etc.
The integration tests use [Testcontainers](https://testcontainers.com/) to start and manage every backing service they depend on — Redis, Zipkin, MongoDB, Kafka, and the Dapr control plane (`placement` and `scheduler`) — automatically at test runtime.

Similarly, all of these need to be run for running the ITs either individually or as a whole.

Run the following commands from the root of the repo to start all the docker containers that the tests depend on.

```bash
docker compose -f ./sdk-tests/deploy/local-test.yml up -d
```

To stop the containers and services, run the following commands.

```bash
docker compose -f ./sdk-tests/deploy/local-test.yml down
```
There is no separate step to bring these services up: you only need a running Docker daemon. Testcontainers pulls the required images and starts/stops the containers as the tests run.


#### Run all ITs from command line
Expand Down
4 changes: 4 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -689,6 +689,10 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<!-- Aggregate is a root-only report. Without inherited=false the site
lifecycle re-runs it at every reactor module, multiplying a full-source
Javadoc pass ~10x. Keep it pinned to the aggregator module. -->
<inherited>false</inherited>
Comment thread
siri-varma marked this conversation as resolved.
<reportSets>
<reportSet>
<id>aggregate</id>
Expand Down
27 changes: 0 additions & 27 deletions sdk-tests/components/http_binding.yaml

This file was deleted.

26 changes: 0 additions & 26 deletions sdk-tests/components/kafka_bindings.yaml

This file was deleted.

23 changes: 0 additions & 23 deletions sdk-tests/deploy/local-test.yml

This file was deleted.

5 changes: 5 additions & 0 deletions sdk-tests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,11 @@
<artifactId>testcontainers-toxiproxy</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-kafka</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
Expand Down
Loading
Loading