User Tools

Site Tools


Automated Build, Test and Release

The goal of the automated build and test system is to enable rapid continuous delivery by automating the building, testing and release of ESCP and N-Mesh on all platforms.

Automated Build and Testing

Build and testing works by monitoring the subversion trunk for changes. When changes are detected, an action is launched on each host platform that carries out the following:

  1. Update to the HEAD trunk revision
  2. Run the global “clean” target
  3. Build common libraries
  4. Build toolchain
  5. Run tests
    1. Run regression tests for all modules
    2. Run benchmark tests
    3. Run test suite (if applicable)
  6. Build libraries/examples for all modules for each applicable target platform:
    1. Android (built on Windows/Linux/Mac host platforms)
    2. iOS (built on Mac host platform)
    3. PNaCl (built on Windows/Linux/Mac host platforms)
    4. Build obfuscated (if applicable)

When the above steps have completed successfully, the results are committed back to subversion.

Automated Release

When the build and tests have completed successfully on all host platforms, the release process can then be executed. This currently a manual process that releases the current trunk to a release branch for a particular product version:

  • If a product version branch does not exist, it is created by copying the trunk to the release branch
  • If the product version already exists, it is updated by merging the trunk into the release branch

N-Mesh build prerequisites

See also

2016/04/26 09:35 · aaron
automation.txt · Last modified: 2016/08/31 13:20 by aaron

[ Home ] [ Subversion ] [ Bugzilla ]