Page MenuHomePhabricator

Provide infrastructure to store files by project/branch post-merge to compare with pre-merge
Closed, DeclinedPublic

Description

Given we have pre-merge review, we need infrastructure to store files post-merge (e.g. code coverage). And then in 'test' and 'gate' jobs be able to compare results against that.

It would be nice to then be able to include freeform text report (summary or url) from the build into the jenkins-bot comment on Gerrit.

Related Objects

Event Timeline

hashar subscribed.

...
At first we would need a place to push temporary materials tool. A lot of disk (maybe Swift) and a place under wmfusercontent.org . The reason is you we don't want random code under wikimedia.org domain. That is more or less T72945: Preview generated documentation in test pipeline for review.

hashar triaged this task as Low priority.Jun 5 2015, 9:56 PM

@Jdforrester-WMF thanks a ton for filling those tasks. With the current team workload that is probably not going to happen anytime soon though.

Potentially, we can already write a wrapper that would send the log to a central storage. OpenStack uses swift with the settings being held directly in Zuul configuration ( http://ci.openstack.org/zuul/zuul.html#swift ).

They have a script to fetch the Jenkins job console output. There is then two macros in their JJB configuration: zuul-swift-upload-console-log and zuul-swift-upload-logs-with-console which are run in a postbuildscripts regardless of the build status. Ultimately that invokes zuul_swift_upload.py which crafts a basic web layout and push the changes to swift based on SWIFT_* env variable that have been passed by Zuul to the Jenkins job.

Krinkle renamed this task from Provide infrastructure to store data for pre-merge reports on patchsets to Provide infrastructure to store files by project/branch post-merge to compare with pre-merge.EditedJun 8 2015, 11:00 PM
Krinkle updated the task description. (Show Details)
Krinkle set Security to None.
Krinkle subscribed.

For the record, James filed this following a discussion with me about being able to have reports like "Code review: 85% ( 3%)" in the jenkins-bot comment on Gerrit.

The only thing being stored is a single result per project/branch, not for each patch set. (Patchset tests already include relevant data in the build output and artefacts, which don't need to be stored elsewhere; this is about then comparing it against data from latest head of the target branch).

It is also not related to temporal web-accessible stores for preview of documentation or code coverage. That is a separate (though also Epic) task. These have no common dependencies.

hashar changed the task status from Open to Stalled.Oct 6 2015, 12:34 PM

Until we have a data store to expose the generated files ( T101545: Provide infrastructure to store files by project/branch post-merge to compare with pre-merge ). There is not much we can do on this task.

Has been done for the beta cluster via T64835: Setup a Swift cluster on beta-cluster to match production. Probably want to do the same for the integration labs project.

hashar changed the task status from Stalled to Open.Sep 3 2016, 12:30 PM
Legoktm subscribed.

Declining given that the main motivation for this was T101544: Provide (pre-merge) code coverage reports on patchsets, which was implemented differently.