In Jepsen testing we can build a package once (on a fast machine) and install it on MCS virtual machine (similarly how we do it in integration.yml). See timestamps:
2021-10-29T16:38:55.4755076Z INFO [2021-10-29 16:38:55,472] jepsen node 87.239.105.42 - tarantool.db Building Tarantool nil
2021-10-29T16:45:06.1806054Z INFO [2021-10-29 16:45:06,177] jepsen node 87.239.105.42 - tarantool.db Configure instance on 87.239.105.42
I'll collect ideas about speed up of CI/CD in tarantool/tarantool here.
Packaging jobs: skip repository metadata update and dependencies installation.
Testing jobs: cache dependencies.
ARM64 jobs: use ccache (complation here is long).
Run small set of tests on most of targets on developer branches.
Skip previous run, when a developer branch is force-pushed.
Don't run ARM64 jobs on developer branches (if the branch is not named as somethinf-full-ci).
Implemented in ci: reduce number of arm64 job runs tarantool#6569
In Jepsen testing we can build a package once (on a fast machine) and install it on MCS virtual machine (similarly how we do it in integration.yml). See timestamps:
Six minutes!
We can run Jepsen testing directly on GitHub hosted runners on Ubuntu, without docker container with Debian Stretch inside (I guess we implemented this for our own CentOS machines, when they work as GitLab CI runners, and it has no sense anymore). We spend ~1 minute to fetch the image and ~40 seconds for
apt-get updateinside each time.We can use GitHub's caching infrastructure to don't install clojure, jepsen, terraform and its dependencies each time. See the idea here.
Jepsen testing has a client machine (from where we send requests to tarantool instances) and MCS virtual machines with tarantool server instances. The client machine is where the GitHub runner resides and now we use GitHub hosted runners in this type of testing. Moving the client machine to MCS may decrease timings between the client and the tarantool server(s). The tests are time bound, so it should not affect testing time much. But it'll allow to make more requests per second and so will make the testing more powerful within the same job run time.
Move FreeBSD CI to cloud (MCS) #143
Feel free to add more!