/
Database data for CI Server

Database data for CI Server

Currently, the CI server https://ci.in-portal.org/ has 4 jobs:

  • In-Portal 5.2.x

  • In-Portal 5.2.x with all modules

  • In-Portal 5.3.x

  • In-Portal 5.3.x with all modules

Problem

The builds only perform static analysis and don’t run In-Portal to see if it’s working. This happens because there is no database data to test with.

Solution

  1. transform In-Portal installation wizard (its code) in a way, that it can be executed in an automated fashion without a Web Browser

  2. add possible Phing build action called “run-installer”, that will:

    1. clean current database

    2. run the installation (if any error happens in a process, then about the whole process and report back a non-zero exit code)

    3. dump the database

    4. add a caching layer, that will use the previous dump, when a working copy revision hasn’t changed since the last generation time

  3. improve each build so that it will create/populate the database as needed and retain database dumps (somehow ask Jenkins not to delete that dump during “svn revert”, that it does)

Maybe in future dump generation process could be improved to populate database with some test data to be used for unit testing.