cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bharat Kumar <>
Subject Re: [PROPOSAL] Minimum Viable CI Integration
Date Fri, 04 Mar 2016 04:29:55 GMT
Hi will,

we have a solution to post the results to the community by email. We also have a github integration
to fetch the Prs , run tests against them and post
the consolidated results by email and share the logs using dropbox.

We are facing some setup delays to get this up and running. I am sure we will be able to do
this shortly.

I am also working on posting the results in PR as comments. 


> On 04-Mar-2016, at 7:36 AM, Will Stevens <> wrote:
> Last I knew Bharat did not have a solution for posting results back to the
> community. I could be wrong though, I don't really know how complete a
> solution Bharat has at this point.
> There are two other CI implementations in various states of completeness
> and I think it is important to have a common mechanism which will work to
> post results back to the community regardless of the CI implementation.
> "bubble" from SBP seems to be the most complete so far and has been used to
> test over 100 PRs, but I don't think the results have formally contributed
> back for the community to review.
> "trillian" is a project shapeblue is working on, but I am still getting
> details for when it is expected to be operational.
> This may not be a final solution, but I feel it is a good first step which
> will be easy for everyone to work with.
> On Mar 3, 2016 8:35 PM, "Gandikota Srinivas" <>
> wrote:
>> Will,
>> I guess Bharat has something similar in working.
>> Bharat,
>> Can you please elaborate your approach for sharing the CI results with
>> community ?
>> Thanks,
>> Srinivas
>> On Fri, Mar 4, 2016 at 6:28 AM, Will Stevens <>
>> wrote:
>>> Apparently attached files don't work when sending to the mailing list.
>>> Find the screenshot here:
>>> On Thu, Mar 3, 2016 at 7:54 PM, Will Stevens <>
>>> wrote:
>>>> Hey Everyone,
>>>> As I am sure most of you are aware, I have been focusing a lot on ways
>> to
>>>> get CI integrated back into the community.
>>>> Today I build a little POC to validate some ideas and get a feel for a
>>>> potential approach for getting CI integrated into the Github pull
>> request
>>>> workflow.
>>>> There are multiple individuals/companies focusing on CI right now
>> (which
>>>> is a good thing), but there has not really been much discussion (that I
>>> am
>>>> aware of) for how these different CI runs will push back results to the
>>>> community.  I want to make sure that nobody's work on this topic goes
>> to
>>>> waste, so my goal is to provide a simple and consistent way for
>> everyone
>>> to
>>>> push their results back to the community.
>>>> Here is the basic idea (please give feedback):
>>>> - A simple cross platform command line tool with zero dependencies will
>>> be
>>>> provided (and open sourced) which will handle the submission of the CI
>>>> results back to the community.  It is written in Golang and is
>> currently
>>>> called 'notify_pr'.
>>>> - At the end of a CI execution, the CI should automate the execution of
>>>> this tool to handle updating the appropriate PR with the results.
>>>> Configuration can be done via the command line or through an INI file.
>>>> Here is an example of the configuration details.  The commit is the
>>>> commit that the CI just executed against.
>>>> token  = <your github token>
>>>> owner  = apache
>>>> repo   = cloudstack
>>>> commit = c8443496d3fad78a4b1a48a0992ce545bde299e8
>>>> summary_file = <a text file summary of the run>
>>>> full_detail_dir = <a directory structure to be recursively uploaded to
>>>> object store>
>>>> full_detail_files = <a comma separated list of files to upload to
>> object
>>>> store>
>>>> store_api = <swift or s3>
>>>> store_endpoint = <url endpoint>
>>>> store_identity = <keystone identity or aws access key>
>>>> store_secret = <keystone password or aws secret key>
>>>> I have not yet implemented the object storage endpoints, but I have
>> code
>>>> to do it from a different project, so I just need to add it.  I will be
>>>> able to host my CI output in a swift object store, but others may need
>> to
>>>> use AWS S3.  Maybe we can get sponsorship for this storage.  We will
>> only
>>>> keep the logs for a window of like a week or so on the object store so
>>> the
>>>> storage usage will not be ever growing.
>>>> Basically, the tool takes the details of the repository you are
>>> validating
>>>> a Pull Request for and the commit you are building.  It also takes the
>>>> files you would like to push to the pull request.  The summary file
>> will
>>> be
>>>> shown as text in the pull request comment and the other files will be
>>>> uploaded to an object store and will be publically available for a
>> period
>>>> of time (probably about a week and then get cleaned up, details TBD).
>>> The
>>>> files to be uploaded to object store could be either specified as
>>>> individual files, OR a target directory and all the files in that
>>> directory
>>>> will be recursively uploaded to the object store.
>>>> When the tool is run, it will scan through all the open pull requests
>> in
>>>> the target repository and when it finds the pull request corresponding
>> to
>>>> the commit in question, it will post the details as a comment to that
>>> pull
>>>> request.  This functionality is currently working (see the attached
>>>> screenshot).  I can change the formatting and such, this is just an
>>> example.
>>>> This is still a very rough concept that I have only worked on for a
>> day,
>>>> but hopefully you guys agree that it is a good start towards a
>> consistent
>>>> feedback mechanism for the community to take advantage of the different
>>>> distributed CI installations.
>>>> Please voice your feedback and concerns.  I am sure I have not thought
>> of
>>>> everything and we may still want to make fundamental changes to the
>>>> approach, but I think the concept is solid.
>>>> Cheers,
>>>> Will

This e-mail may contain privileged and confidential information which is the property of Accelerite,
a Persistent Systems business. It is intended only for the use of the individual or entity
to which it is addressed. If you are not the intended recipient, you are not authorized to
read, retain, copy, print, distribute or use this message. If you have received this communication
in error, please notify the sender and delete all copies of this message. Accelerite, a Persistent
Systems business does not accept any liability for virus infected mails.

View raw message