rocksdb/build_tools
Gunnar Kudrjavets a52e4d7d02 Framework for enabling continuous RocksDB build and tests
Summary:
The main PHP code churn is caused by extracting the common code from `FacebookArcanistConfiguration.php` and `FacebookOldArcanistConfiguration.php` into `RocksDBCommonDeterminator.php`. This is necessary both for reducing the duplication of code and making sure that we can execute the common core logic separately from continuous runs.

The main logic in `RocksDBCommonDeterminator.php` remains quite the same with the exception of some things:

- Adding separation between the cases when a diff is submitted //vs.// when the code is triggered from a continuous run. There are certain actions which we should do in a case of diff only.

- Adding reporting - now the person who authored the diff will receive e-mail notifications if any of the jobs have failed.

- Enabling assertions and making sure that we'll terminate on failure. This is an internal code used by competent engineers, so instead of `if (!condition) { echo "Something"; exit(1); }` for every invariant I think that `assert(condition)` provides better readability with the same behavior. Especially taking into account that we're talking about things which shouldn't ever happen.

Enabling this entire process will be triggered internally and will be a subject of a separate code review. We should discuss the details of triggering continuous RocksDB build and tests on that diff.

Test Plan:
- Make sure that `[p]arc diff` scenario isn't broken by verifying that tests validating this diff will pass.
- Private testing of triggering the continuous build script.
- Once the changes will land then author an internal job which will use the script and verify its validity.

Reviewers: sdong, yhchiang, kradhakrishnan

Reviewed By: kradhakrishnan

Subscribers: andrewkr, dhruba

Differential Revision: https://reviews.facebook.net/D59811
2016-06-21 11:38:54 -07:00
..
amalgamate.py New amalgamation target 2015-10-01 08:29:31 +13:00
build_detect_platform Fix build on machines without jemalloc 2016-04-27 18:25:19 -07:00
cont_integration.sh Framework for enabling continuous RocksDB build and tests 2016-06-21 11:38:54 -07:00
dependencies_4.8.1.sh Use gvfs links in dependencies.sh 2016-06-07 14:22:52 -07:00
dependencies.sh Use valgrind built with gcc-4.9-glibc-2.20 2016-06-08 13:22:16 -07:00
dockerbuild.sh Move dockerbuild.sh to build_tools/ 2015-06-17 14:09:12 -07:00
error_filter.py New legocastle output parsing 2016-04-18 13:01:10 -07:00
fb_compile_mongo.sh set -e in fb_compile_mongo.sh 2015-06-29 11:43:25 -07:00
fbcode_config4.8.1.sh Fix libgcc broken lib path 2016-06-12 00:11:08 -07:00
fbcode_config.sh Fix libgcc broken lib path 2016-06-12 00:11:08 -07:00
format-diff.sh Check formatting in Travis 2015-09-17 22:02:05 -07:00
make_new_version.sh Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
make_package.sh Package generation for Ubuntu and CentOS 2014-09-29 16:09:46 -07:00
precommit_checker.py Minor bug fix with log name 2016-06-14 12:20:58 -07:00
regression_build_test.sh Enhance db_bench write rate limit 2016-01-04 12:01:27 -08:00
rocksdb-lego-determinator Have sandcastle run lite_test for every diff 2016-05-06 14:51:20 -07:00
run_ci_db_test.ps1 Add support for db_test2 for dev and CI runs 2016-03-23 16:33:57 -07:00
update_dependencies.sh Use valgrind built with gcc-4.9-glibc-2.20 2016-06-08 13:22:16 -07:00
version.sh Cross-platform fix version.sh 2014-10-04 11:17:06 +02:00