This is an automated email from the ASF dual-hosted git repository.
pjfanning pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko-projection.git
The following commit(s) were added to refs/heads/main by this push:
new 0ff4440 test with yugabyte (#491)
0ff4440 is described below
commit 0ff44405b920e0b36a5088f385d0d52a6cf45eb4
Author: PJ Fanning <[email protected]>
AuthorDate: Sat May 23 17:49:59 2026 +0100
test with yugabyte (#491)
* test with yugabyte
* missing file
* Update integration-tests-r2dbc.yml
* only run for this repo
---
.github/workflows/integration-tests-cassandra.yml | 1 +
.github/workflows/integration-tests-grpc.yml | 1 +
.github/workflows/integration-tests-jdbc.yml | 1 +
.github/workflows/integration-tests-kafka.yml | 1 +
.github/workflows/integration-tests-r2dbc.yml | 62 ++++++++++++++++++++--
.github/workflows/integration-tests-slick.yml | 1 +
.../docker-compose-postgres.yml | 0
docker-files/docker-compose-yugabyte.yml | 46 ++++++++++++++++
8 files changed, 109 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/integration-tests-cassandra.yml
b/.github/workflows/integration-tests-cassandra.yml
index 3343263..453268d 100644
--- a/.github/workflows/integration-tests-cassandra.yml
+++ b/.github/workflows/integration-tests-cassandra.yml
@@ -19,6 +19,7 @@ jobs:
test:
name: Build and Test Integration for Cassandra
runs-on: ubuntu-22.04
+ if: github.repository == 'apache/pekko-projection'
strategy:
fail-fast: false
matrix:
diff --git a/.github/workflows/integration-tests-grpc.yml
b/.github/workflows/integration-tests-grpc.yml
index 4b26748..7561879 100644
--- a/.github/workflows/integration-tests-grpc.yml
+++ b/.github/workflows/integration-tests-grpc.yml
@@ -22,6 +22,7 @@ jobs:
test:
name: Build and Test Integration for gRPC
runs-on: ubuntu-22.04
+ if: github.repository == 'apache/pekko-projection'
strategy:
fail-fast: false
matrix:
diff --git a/.github/workflows/integration-tests-jdbc.yml
b/.github/workflows/integration-tests-jdbc.yml
index 69e1863..c4b2ff8 100644
--- a/.github/workflows/integration-tests-jdbc.yml
+++ b/.github/workflows/integration-tests-jdbc.yml
@@ -19,6 +19,7 @@ jobs:
test:
name: Build and Test Integration for JDBC
runs-on: ubuntu-22.04
+ if: github.repository == 'apache/pekko-projection'
strategy:
fail-fast: false
matrix:
diff --git a/.github/workflows/integration-tests-kafka.yml
b/.github/workflows/integration-tests-kafka.yml
index 061773f..10029ae 100644
--- a/.github/workflows/integration-tests-kafka.yml
+++ b/.github/workflows/integration-tests-kafka.yml
@@ -19,6 +19,7 @@ jobs:
test:
name: Build and Test Integration for Kafka
runs-on: ubuntu-22.04
+ if: github.repository == 'apache/pekko-projection'
strategy:
fail-fast: false
matrix:
diff --git a/.github/workflows/integration-tests-r2dbc.yml
b/.github/workflows/integration-tests-r2dbc.yml
index 5d98546..8b0ead5 100644
--- a/.github/workflows/integration-tests-r2dbc.yml
+++ b/.github/workflows/integration-tests-r2dbc.yml
@@ -19,9 +19,10 @@ permissions:
contents: read
jobs:
- test:
- name: Build and Test Integration for R2DBC
+ postgres-test:
+ name: Build and Test Integration for R2DBC with PostgreSQL
runs-on: ubuntu-22.04
+ if: github.repository == 'apache/pekko-projection'
strategy:
fail-fast: false
matrix:
@@ -53,9 +54,9 @@ jobs:
- name: Install sbt
uses: sbt/setup-sbt@508b753e53cb6095967669e0911487d2b9bc9f41 # v1.1.22
- - name: Start DB
+ - name: Start PostgreSQL DB
run: |-
- docker compose -f docker/docker-compose-postgres.yml up -d
+ docker compose -f docker-files/docker-compose-postgres.yml up -d
# TODO: could we poll the port instead of sleep?
sleep 10
docker exec -i docker-postgres-db-1 psql -U postgres -t <
r2dbc-int-test/ddl-scripts/create_tables_postgres.sql
@@ -70,3 +71,56 @@ jobs:
- name: Print logs on failure
if: ${{ failure() }}
run: find . -name "*.log" -exec ./scripts/cat-log.sh {} \;
+
+ yugabyte-test:
+ name: Build and Test Integration for R2DBC with YugabyteDB
+ runs-on: ubuntu-22.04
+ if: github.repository == 'apache/pekko-projection'
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - { java-version: 17, scala-version: 2.13, sbt-opts: '' }
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #
v6.0.2
+ with:
+ fetch-depth: 0
+ fetch-tags: true
+
+ - name: Checkout GitHub merge
+ if: github.event.pull_request
+ run: |-
+ git fetch origin pull/${{ github.event.pull_request.number
}}/merge:scratch
+ git checkout scratch
+
+ - name: Cache Coursier cache
+ uses: coursier/cache-action@90c37294538be80a558fd665531fcdc2b467b475 #
v8.1.0
+
+ - name: Setup JDK ${{ matrix.java-version }}
+ uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 #
v5.2.0
+ with:
+ java-version: ${{ matrix.java-version }}
+ distribution: temurin
+
+ - name: Install sbt
+ uses: sbt/setup-sbt@508b753e53cb6095967669e0911487d2b9bc9f41 # v1.1.22
+
+ - name: Start YugabyteDB
+ run: |-
+ docker compose -f docker-files/docker-compose-yugabyte.yml up -d
+ # TODO: could we poll the port instead of sleep?
+ sleep 10
+ docker exec -i yb-tserver-n1 /home/yugabyte/bin/ysqlsh -h
yb-tserver-n1 -t < r2dbc-int-test/ddl-scripts/create_tables_yugabyte.sql
+ docker exec -i yb-tserver-n1 /home/yugabyte/bin/ysqlsh -h
yb-tserver-n1 -t -c 'CREATE DATABASE database1;'
+ docker exec -i yb-tserver-n1 /home/yugabyte/bin/ysqlsh -h
yb-tserver-n1 -t -d database1 <
r2dbc-int-test/ddl-scripts/create_tables_yugabyte.sql
+ docker exec -i yb-tserver-n1 /home/yugabyte/bin/ysqlsh -h
yb-tserver-n1 -t -c 'CREATE DATABASE database2;'
+ docker exec -i yb-tserver-n1 /home/yugabyte/bin/ysqlsh -h
yb-tserver-n1 -t -d database2 <
r2dbc-int-test/ddl-scripts/create_tables_yugabyte.sql
+
+ - name: test
+ run: sbt -Dpekko.persistence.r2dbc.dialect=yugabyte
-Dpekko.projection.r2dbc.dialect=yugabyte ++${{ matrix.SCALA_VERSION }} test
+
+ - name: Print logs on failure
+ if: ${{ failure() }}
+ run: find . -name "*.log" -exec ./scripts/cat-log.sh {} \;
diff --git a/.github/workflows/integration-tests-slick.yml
b/.github/workflows/integration-tests-slick.yml
index 5ca3370..c65967f 100644
--- a/.github/workflows/integration-tests-slick.yml
+++ b/.github/workflows/integration-tests-slick.yml
@@ -19,6 +19,7 @@ jobs:
test:
name: Build and Test Integration for Slick
runs-on: ubuntu-22.04
+ if: github.repository == 'apache/pekko-projection'
strategy:
fail-fast: false
matrix:
diff --git a/docker/docker-compose-postgres.yml
b/docker-files/docker-compose-postgres.yml
similarity index 100%
rename from docker/docker-compose-postgres.yml
rename to docker-files/docker-compose-postgres.yml
diff --git a/docker-files/docker-compose-yugabyte.yml
b/docker-files/docker-compose-yugabyte.yml
new file mode 100644
index 0000000..aa62fa1
--- /dev/null
+++ b/docker-files/docker-compose-yugabyte.yml
@@ -0,0 +1,46 @@
+# Local Yugabyte database, see
https://docs.yugabyte.com/latest/deploy/docker/docker-compose/
+
+volumes:
+ yb-master-data-1:
+ yb-tserver-data-1:
+
+services:
+ yb-master:
+ image: yugabytedb/yugabyte:2025.2.0.1-b1
+ container_name: yb-master-n1
+ volumes:
+ - yb-master-data-1:/mnt/master
+ command: [ "/home/yugabyte/bin/yb-master",
+ "--fs_data_dirs=/mnt/master",
+ "--master_addresses=yb-master-n1:7100",
+ "--rpc_bind_addresses=yb-master-n1:7100",
+ "--replication_factor=1"]
+ ports:
+ - "7000:7000"
+ environment:
+ SERVICE_7000_NAME: yb-master
+
+ yb-tserver:
+ image: yugabytedb/yugabyte:2025.2.0.1-b1
+ container_name: yb-tserver-n1
+ shm_size: '512mb'
+ volumes:
+ - yb-tserver-data-1:/mnt/tserver
+ command: [ "/home/yugabyte/bin/yb-tserver",
+ "--fs_data_dirs=/mnt/tserver",
+ "--start_pgsql_proxy",
+ "--rpc_bind_addresses=yb-tserver-n1:9100",
+ "--tserver_master_addrs=yb-master-n1:7100",
+ "--ysql_sequence_cache_minval=1",
+ "--yb_num_shards_per_tserver=1"]
+ ports:
+ - "9042:9042"
+ - "5433:5433"
+ - "9000:9000"
+ environment:
+ SERVICE_5433_NAME: ysql
+ SERVICE_9042_NAME: ycql
+ SERVICE_6379_NAME: yedis
+ SERVICE_9000_NAME: yb-tserver
+ depends_on:
+ - yb-master
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]