Skip to content
Snippets Groups Projects
user avatar
Yaroslav Lobankov authored
For now, there is no testing for the tarantool project verifying its
integration with different modules and connectors from the ecosystem.
This is a quite huge gap in our CI system that is going to be covered
by these changes.

This patch introduces a couple of new workflow files that are named
'integration.yml' and 'reusable_build.yml'. The main workflow is
'integration.yml' that will run automatically per push to master and
release branches. Also, this workflow can be run manually against a
development branch. The 'reusable_build.yml' workflow is called by the
main workflow and builds needed tarantool packages (at this moment for
Ubuntu Focal Fossa only), then stores them as a build artifact. After
that, the main workflow calls the 'reusable_testing.yml' workflow from
a module project that tarantool is going to verify integration with.
The testing workflow should download the tarantool build artifact and
run tests against it.

The basic scheme describing the verification process is represented
below:

      integration.yml
             |
             |
             v
     reusable_build.yml --> <artifact>
             |                  |
             |                  |
             v                  |
    reusable_testing.yml <------+
             |
             |
             v
          <result>

For now, we start only with the vshard module. In the future, we are
going to extend the module list incrementally.

Part of #5265
Part of #6056
Closes #4972
8ac76fd6
History

Tarantool

Build Status Build Status Code Coverage Telegram Slack Gitter Google Groups

https://tarantool.io/en/

Patch submissions and discussion of particular patches https://lists.tarantool.org/mailman/listinfo/tarantool-patches/

General development discussions https://lists.tarantool.org/mailman/listinfo/tarantool-discussions/

Tarantool is an in-memory database and application server.

Key features of the application server:

  • 100% compatible drop-in replacement for Lua 5.1, based on LuaJIT 2.1. Simply use #!/usr/bin/tarantool instead of #!/usr/bin/lua in your script.
  • full support for Lua modules and a rich set of own modules, including cooperative multitasking, non-blocking I/O, access to external databases, etc

Key features of the database:

  • ANSI SQL, including views, joins, referential and check constraints
  • MsgPack data format and MsgPack based client-server protocol
  • two data engines: 100% in-memory with optional persistence and an own implementation of LSM-tree, to use with large data sets
  • multiple index types: HASH, TREE, RTREE, BITSET
  • asynchronous master-master replication
  • authentication and access control
  • the database is just a C extension to the application server and can be turned off

Supported platforms are Linux/x86, FreeBSD/x86 and OpenBSD/x86, Mac OS X.

Tarantool is ideal for data-enriched components of scalable Web architecture: queue servers, caches, stateful Web applications.

To download and install Tarantool as a binary package for your OS, please visit https://tarantool.io/en/download/.

To build Tarantool from source, see detailed instructions in the Tarantool documentation at https://tarantool.io/en/doc/2.1/dev_guide/building_from_source/.

Please report bugs at https://github.com/tarantool/tarantool/issues We also warmly welcome your feedback in the discussion mailing list, tarantool@googlegroups.com.

Thank you for your interest in Tarantool!