[Buildbot-devel] Added change revision from one git repo for another

Shakthi Kannan shakthimaan at gmail.com
Sat Jul 30 04:49:32 UTC 2011


Hi,

--- On Fri, Jul 29, 2011 at 5:34 PM, david ignacio <deignacio at gmail.com> wrote:
| This is where I see the problem.  Even thought the schedulers are
| connected to builders that are related to the different repositories,
| their only filter is branch="master."  This means that if a change
| exists in either a.git or b.git, both builders "atests" and "btests"
| will get scheduled.  I'm assuming the c- builder isn't triggered, but
| that's to be expected because the change_filter is in place.
\--

Yes, c-builder isn't triggered.

---
| i'd add a project="project a" and project="project b" to a_/b_poller,
| and then a change filter similar to the svn to the atests/btests
| schedulers.
\--

I added a 'project=' parameter as an argument to GitPoller:

  a_poller = GitPoller(
          'git://path/to/a.git',
          project='project a',
          branch='master')

and added filters for each in the schedule like:

  a_filter = ChangeFilter(project='project a')

In the scheduler, I updated:

  c['schedulers'].append(Scheduler(name="atests",      # commented
this branch="master",
                                   treeStableTimer=None,
                                   change_filter=a_filter,
                                   builderNames=["atests"]))

---
| Try that out and see if it works.
\--

I had to remove the branch='master' because checkconfig was
complaining that we could have only either a branch or a
change_filter. This time, I didn't get a deluge of build triggers.
But, there was one trigger for each of the git repos. I can see these
in twistd.log where it also prints the project='' option along with
the other parameters in the "added change Change()" message.

Earlier, I had used the /tmp/gitpoller_work directory as a workdir for
some builds. I have removed its usage completely now from master.cfg.
So, whenever a commit happens now in this a.git, it seems to check out
a.git code in /tmp/gitpoller_work. So, for each of the git repos
available in master.cfg, it prints the above as if a change was
detected for the repo, adds it as a change, and starts to run the
build for each git repo. I see it in the twistd.log file:

=== twistd.log ===

2011-07-30 09:45:10+0530 [-] gitpoller: processing 1 changes:
['5b29a5c45e6547d6d2bc6125db629861cce4d0ff'] in "/tmp/gitpoller_work"
2011-07-30 09:45:10+0530 [-] gitpoller: processing 1 changes:
['5b29a5c45e6547d6d2bc6125db629861cce4d0ff'] in "/tmp/gitpoller_work"

=== END ===

The above is the changeset that happened in a.git. Is there some cache
or database that needs to be updated or cleared, when upgrading
buildbot?

Thanks for your reply,

SK

-- 
Shakthi Kannan
http://www.shakthimaan.com




More information about the devel mailing list