[users at bb.net] Configuring to test all Git branches

Chris Spencer chrisspen at gmail.com
Tue Jan 5 21:17:56 UTC 2016


Thanks. I've managed to setup most of this system. However, how would I
implement the JIRA step? Would this be a ShellCommand?

I already have a script that can lookup the JIRA ticket ID from the current
checked-out git branch and add a comment to JIRA using the API, but how
would this step know the result of the unittests ran in the previous step?



On Sun, Dec 6, 2015 at 5:15 AM, Pierre Tardy <tardyp at gmail.com> wrote:

> Hi Chris,
> This workflow is pretty common CI.
> Buildbot is perfectly suited to implement it. The framework
>
> 1) If you have arbitrary branch name, you would use a single
> AnyBranchScheduler, and then use the "branch" property to figure out your
> working directory/
>
> 2) If you have a predefined set of branches (e.g prod, staging, mainline),
> then you might want to create one builder per branch, and then use a branch
> filter to choose which branch goes to which builder.
>
> In anycase you would need one change source, whether its the basic
> gitpoller or more fancy gerrit/github/gitlab change sources.
>
> If you want to update JIRA based on the results you can do that using the
> JIRA REST api, in one of your final steps and python tool like requests.
> buildbot does not have any out of the box tool to update JIRA
> How you get the value of the JIRA request depends on the detail of your
> workflow.
>
>
> HTH,
> Pierre
> Le jeu. 3 déc. 2015 à 22:54, Chris Spencer <chrisspen at gmail.com> a écrit :
>
>> Hi, I'm new to Buildbot and I'm researching it to see if it'll fit into
>> my dev workflow.
>>
>> I have unittests that take about 45 minutes to complete. They're a mix of
>> Django and Selenium tests which get run against multiple client
>> configurations. Since they take so long to run, I want to automate the
>> process as much as possible.
>>
>> I have a small dev team, and all work is done through Git branches. I'd
>> like to configure Buildbot so that whenever someone pushes a change to a
>> "primary" Git repo on Bitbucket, Buildbot will:
>>
>> 1. Checkout the branch.
>> 2. Create a separate Python virtualenv for that branch (and do nothing if
>> a pip-requirements.txt was not changed since the last run for this branch)
>> 3. Install system packages from an apt-requirements.txt (just a list of
>> standard Ubuntu packages).
>> 4. Run Django's `manage.py test <list of apps>` to run all tests, and
>> email the branch's last committer if an error occurred.
>> 5. If another commit is made while the tests are running, the ongoing
>> tests should be aborted, and restarted.
>> 6. Publish the test results in a Jira ticket associated with the branch.
>>
>> Is this something that's within Buildbot's wheelhouse? I'm reading
>> through the intro docs now, but I'm not finding anything about setting it
>> up to poll and test every single branch in your repo.
>>
>> Regards,
>> Chris
>> _______________________________________________
>> users mailing list
>> users at buildbot.net
>> https://lists.buildbot.net/mailman/listinfo/users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.buildbot.net/pipermail/users/attachments/20160105/7b9a0466/attachment.html>


More information about the users mailing list