Skip to content

ArtemTrofimushkin/temporal-over-ydb

 
 

Repository files navigation

license GitHub go.mod Go version stability-wip

temporal-over-ydb

temporal-over-ydb is an implementation of a custom Temporal persistence layer using YDB, a distributed SQL DBMS.

It is still a work in active progress and is not ready for production use.

How to run tests

Clone and patch Temporal source code:

git clone https://github.com/temporalio/temporal.git
cd ./temporal
git checkout v1.22.3

# This patch allows setting custom advanced visibility persistence,
# see https://github.com/temporalio/temporal/pull/4871
curl https://github.com/temporalio/temporal/compare/634a5a1223a8b2bc00b9320d17ed1f1b67182fb1..3f0ad69ad521ffb07e1bbdea1aa4da0adeb3be7e.diff -Lso- | git apply

# Since the suites in the tests package are not exportable and not configurable with
# custom persistence, for now we just patch them to use YDB:
git apply ../tests/functests.patch
cd ./tests
cp ../../tests/functests.go.mod ./go.mod
go mod tidy

Run docker-compose:

cd ./tests
docker-compose -f ./docker-compose.yml up -d

Run functional server tests:

cd ./temporal/tests
# Specific suite:
go test . -persistenceType=nosql -persistenceDriver=ydb -run 'TestIntegrationSuite'
# Or all of them:
go test . -persistenceType=nosql -persistenceDriver=ydb

Run persistence unit tests:

cd ./tests/persistencetests
go mod tidy
go test .

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 94.1%
  • Shell 5.5%
  • Dockerfile 0.4%