Page MenuHomePhabricator

CI for Civi: provision and run tests under Jenkins/Zuul
Closed, ResolvedPublic

Description

Set up a labs instance of the WMF CI system. [not in the cards]
Create repos for all the tools. Also for vendor/ subrepos :(
Integrate the civibuild work.
Merge to production and deploy.
The following job will check out repos, run civicrm-buildkit, and phpunit:

https://integration.wikimedia.org/ci/view/WMF/job/wikimedia-fundraising-civicrm/

Status

  • Jenkins job is manually configured to run the slave scripts and tests, but we need to move this into a file-backed Jenkins Job Builder config.
  • Precreated db type for amp pending review: https://github.com/totten/amp/pull/18 -- Currently, one db is reused for all three connections, not great, but an acceptable starting point.
  • We must circumvent Composer. Repos and submodules are provisioning nicely, and we’re disabling the builtin composer run by setting the $OFFLINE environment var.

https://gerrit.wikimedia.org/r/179366
https://gerrit.wikimedia.org/r/179371
https://gerrit.wikimedia.org/r/179372
https://gerrit.wikimedia.org/r/179373
https://gerrit.wikimedia.org/r/179374
https://gerrit.wikimedia.org/r/179377
https://gerrit.wikimedia.org/r/179378
https://gerrit.wikimedia.org/r/179379
https://gerrit.wikimedia.org/r/179380
https://gerrit.wikimedia.org/r/179381
https://gerrit.wikimedia.org/r/179384
https://gerrit.wikimedia.org/r/179534
https://gerrit.wikimedia.org/r/179535

  • May need more code to remove the ~/.amp config at the end of a run, and any other statefulness being stored outside the WORKSPACE directory.
  • Would like to improve the nasty symlink workaround for missing --web-root option to buildkit.
  • Minor configuration and application-level issues to clean up before the phpunit tests will pass.

Related Objects

Event Timeline

atgo changed the task status from Open to Stalled.
atgo assigned this task to awight.
atgo raised the priority of this task from to Medium.
atgo updated the task description. (Show Details)
atgo set Security to None.
atgo edited a custom field.
atgo subscribed.

Per blocked tasks, the only outstanding work here is to prevent CI jobs on the deployment branch, since we've removed the test classes there.

@awight should you add a blocking task to have the job to run concurrently? IIRC there is some cache in $HOME which needs to vary between build in case two builds happens on the same node.

Would be nice to have imho but I have no knowledge about the framework CiviCRM is using.

awight changed the task status from Stalled to Open.May 13 2015, 8:31 PM

@awight are you keep this task open solely because it is blocked by T91911 ? Seems most of the work is complete now. Just want to clarify.

hashar changed the task status from Open to Stalled.Oct 6 2015, 11:26 AM
hashar lowered the priority of this task from Medium to Low.

A left over task is T91911: Point amp cache to $WORKSPACE it has a pull request with upstream.

@awight let us know if you need any more support / tweak :-)