0

I am using buildbot for building and testing chromium source. We have a local repo maintained for chromium source. We are using Gerrit for maintaining the repository. The buildbot gets successfully triggered when some change is checked in.

I am facing problem with Nightly builds. I want the buildbot to get the source and build, even when there is no change. But, it fails with the following error:

===Running git checkout --force origin/ ===
error: pathspec 'origin/' did not match any file(s) know to git.
===Failed in 0.0. mins===

Can somebody tell me how to get this working?

My master.cfg is as below:

    from master import master_utils
    from master import slaves_list
    from buildbot.schedulers import timed
    from buildbot.changes import filter 

    import config
    import master_site_config

    ActiveMaster = master_site_config.Chromium
    c = BuildmasterConfig = {}

    c['change_source'] = []
    c['schedulers'] = []
    c['status'] = [] pendingRequests = {}
    c['builders'] = []

    import master_source_cfg
    import master_full_cfg

    master_source_cfg.Update(config, ActiveMaster, c)
    master_full_cfg.Update(config, ActiveMaster, c)

    c['logCompressionLimit'] = False
    c['projectName'] = ActiveMaster.project_name
    c['projectURL'] = config.Master.project_url
    c['buildbotURL'] = 'build.chromium.org/p/chromium/';
    slaves = slaves_list.SlavesList('slaves.cfg', 'Chromium')

    # Trying to find the location of adding factories to the builder
    from twisted.python import log
    for builder in c['builders']:
        log.msg('My BUILDER',builder)
        log.msg(dir(builder['factory']))
        builder['slavenames'] = slaves.GetSlavesName(builder=builder['name'])

    c['slaves'] = master_utils.AutoSetupSlaves(
        c['builders'],
        config.Master.GetBotPassword(),
        missing_recipients=['buildbot@chromium-build-health.appspotmail.com'])
    master_utils.VerifySetup(c, slaves)

    master_utils.AutoSetupMaster(c, ActiveMaster, enable_http_status_push=ActiveMaster.is_production_host)
    c['buildHorizon'] = 3000
    c['logHorizon'] = 3000
    c['eventHorizon'] = 200

I had missed to add the last part of the master.cfg which contains the configuration for nightly:

    c['schedulers'].append(
        timed.Nightly(name='nightly',
            branch='src',
            change_filter=filter.ChangeFilter(project_re='pj/Sample/chromium.*', branch=['buildbot-testing1']),
            builderNames=['Linux x64'],
            hour=8,
            minute=15))

With the above configuration, the nightly gets triggered at the correct time. But, it is not checking out the 'buildbot-testing1' branch as needed. Instead, it exits with the following error:

===Running git checkout --force origin/ ===
error: pathspec 'origin/' did not match any file(s) know to git.
===Failed in 0.0. mins===
  • Can you show how you are configuring your `master.cfg` file, both for nightly builders and regular builders. – sk11 Oct 06 '14 at 10:23
  • Why don't you update the question with the snippets from the `master.cfg`. You must have realized its not convenient to read code in the comments :) – sk11 Oct 06 '14 at 11:22
  • I have updated the question with my master.cfg. – Narendra Kumar Oct 06 '14 at 11:49
  • I do not see any configuration lines related to nightly-builders – sk11 Oct 06 '14 at 11:50
  • We are using gerritchangesource as poller. When there is some change in the code, at that time, I am getting the patchset with the change.branch, etc. But, when nightly is triggered and if there is no change to the source, I don't get patchset. Without that, change.branch is not received. So, in this case, how to get the branch name, etc details to checkout the correct source and build? – Narendra Kumar Oct 06 '14 at 12:04

0 Answers0