Configure build+test matrix for GitLab CI:

* Disable parallel tests for address sanitizer
* Improve caching
* Prefer Ninja builds because they are faster
This commit is contained in:
John Freeman
2019-03-28 16:18:07 -05:00
committed by Manoj doshi
parent 0c20e2eb8b
commit c6d82c722b
4 changed files with 263 additions and 0 deletions

24
bin/ci/README.md Normal file
View File

@@ -0,0 +1,24 @@
In this directory are two scripts, `build.sh` and `test.sh` used for building
and testing rippled.
(For now, they assume Bash and Linux. Once I get Windows containers for
testing, I'll try them there, but if Bash is not available, then they will
soon be joined by PowerShell scripts `build.ps` and `test.ps`.)
We don't want these scripts to require arcane invocations that can only be
pieced together from within a CI configuration. We want something that humans
can easily invoke, read, and understand, for when we eventually have to test
and debug them interactively. That means:
(1) They should work with no arguments.
(2) They should document their arguments.
(3) They should expand short arguments into long arguments.
While we want to provide options for common use cases, we don't need to offer
the kitchen sink. We can rightfully expect users with esoteric, complicated
needs to write their own scripts.
To make argument-handling easy for us, the implementers, we can just take all
arguments from environment variables. They have the nice advantage that every
command-line uses named arguments. For the benefit of us and our users, we
document those variables at the top of each script.