rocksdb/arcanist_util
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
..
config Framework for enabling continuous RocksDB build and tests 2016-06-21 11:38:54 -07:00
cpp_linter Allow arcanist_util to work with both new and old arc versions 2016-06-17 04:36:52 -07:00
lint_engine Allow arcanist_util to work with both new and old arc versions 2016-06-17 04:36:52 -07:00
unit_engine Remove dead Jenkins code and support arc diff --preview in RocksDB 2016-06-13 16:20:15 -07:00
__phutil_library_init__.php Integrate Jenkins with Phabricator 2015-04-07 11:56:29 -07:00
__phutil_library_map__.php Allow arcanist_util to work with both new and old arc versions 2016-06-17 04:36:52 -07:00