Provision CiviCRM badly needs some for of regular testing.

I have started to tinker with Github + Jenkins, since that's what I'm most familiar with (and what CiviCRM uses). There are already some tests written a long time ago, and they need to be adapted, but anything will be better than now, where the risk of regression is always pretty big.

Here is what I have so far:

* I setup a git repo on github: https://github.com/mlutfy/provision_civicrm
* when a pull-request is issued on that repo (on the 6.x-2.x branch), by a whitelisted user, it will automatically trigger a build on one of my VMs (via the Jenkins instance of SymbioTIC.coop)
* it will run the tests in the provision_civicrm_test folder (which used to be the 'tests' folder)

I documented the Github+Jenkins part here:
https://github.com/mlutfy/provision_civicrm/wiki/Continuous-integration

While I have kind of mixed feelings between d.o and github (d.o is klunky, but github is semi-closed/proprietary), for now I think we should keep the issues on d.o, but send PRs on github.

What's left to do:

- get the tests to work (the code needs to be ported from Aegir 6.x-2.x to 7.x-3.x)
- there's still a bit of configs missing so that the PR gets applied on the VM during the tests
- add the webhooks / same workflow on hosting_civicrm as well.

Comments

  • bgm committed bb303f6 on 6.x-2.x
    Issue #2497631: Fix tests for Aegir 7.x-3.x.