Notes on Continuity’s Automated Build and Test System

Description

  • Each night a script is run that will checkout the most recent version of Continuity, compile it, run all the built-in tests and then post the results to the web (deprecated). This will ideally happen each night on Linux 64bit, Windows, and Mac machines; however that is dependent on the machines being on and booted into the proper operating system.

  • For the Mac machine, if there are errors during the build and test process an email containing the errors will be sent to the designated person.
  • Below summarizes the methods that are used in getting the build and test system working.

Mac/Linux

  • On the Mac/Linux, a crontab is created that will run a script that will then run the main Continuity script (pcty/tests/BuildAndTest.py) every night. Note: view crontab to view where bash script is located.

  • The crontab runs a bash script that contains the following:
#!/bin/sh
CURRENT_LOCATION=$PWD
CONT_LOCATION=/Path/to/root/directory/of/an/already/checked-out/version/of/Continuity

# Need this set to be able to compile Continuity
export IFC_LIB_PATH=/Developer/opt/intel/Compiler/11.1/080/lib/

# Set up to use the proper python
cd $CONT_LOCATION
source ./mglinit
python pcty/tests/BuildAndTest.py
cd $PWD

Windows

  • On Windows, a Scheduled Task is created to take place of a crontab. The Scheduled Tasks (at least on XP) can be found at Programs -> Accessories -> System Tools -> Scheduled Tasks.

  • The task is a Python task which runs the BuildAndTest.py script, and starting in the CONT_ROOT/pcty/tests directory, where CONT_ROOT is an already checked out version of Continuity.

TO DO

  • Have all operating systems email if errors occur.
  • Manage all the old summary files that are stored on lys.
  • Add a test that will build and test a released version of Continuity.