-
Notifications
You must be signed in to change notification settings - Fork 56
CDash integration
CDash (https://cdash.org), from the same developers as CMake and CTest, is a potential alternative for our autobuild system (https://github.com/UIUC-PPL/autobuild). Some reasons for the switch are mentioned in issue #2571.
A proof-of-concept implementation is in PR #2587, with the build results shown on the hosted CDash dashboard: Charm++ CDash.
In contrast to autobuild, CDash works by pushing the results from regular (e.g. nightly) or occasional tests to the dashboard. These tests have to be started on the machine where they are intended to run, either manually or through cron.
CDash requires the CTest framework for submission of test results. The above patch works around that by wrapping our existing test system in CTest, creating 3 CTest tests, tests/, examples/, and benchmarks/. These tests can be regenerated with the cdash/generate_ctest.py script.
The cdash/run_autobuild.sh script is a frontend to run a single test (manually or via cron). It clones, builds, and tests Charm++, and submits the results to the CDash dashboard.
To choose a build configuration (build name, branch to test, machine layer etc.), please modify the variables at the top of run_autobuild.sh. Before the above PR is merged, the tested branch needs to be cdash.
To run a manual test, you can use the following commands:
$ wget https://raw.githubusercontent.com/UIUC-PPL/charm/ae01855b8081ddb0be5befd8fae8d9aaa093f823/cdash/run_autobuild.sh
# Edit top of run_autobuild.sh
$ ./run_autobuild.shTo run a nightly autobuild on Quartz, the following crontab entry can be used:
5 0 * * * srun -n 1 -c 8 -p pdebug run_autobuild.sh > /dev/null 2>&1