Пример #1
0
def Update(config, active_master, c):
  c['status'].append(gatekeeper.GateKeeper(
      fromaddr=active_master.from_address,
      categories_steps=categories_steps,
      exclusions=exclusions,
      relayhost=config.Master.smtp,
      subject='buildbot %(result)s in %(projectName)s on %(builder)s, '
              'revision %(revision)s',
      extraRecipients=active_master.tree_closing_notification_recipients,
      lookup=master_utils.FilterDomain(),
      forgiving_steps=forgiving_steps,
      tree_status_url=active_master.tree_status_url,
      use_getname=True))

  # Notify [email protected] when nacl_integration fails.
  c['status'].append(gatekeeper.GateKeeper(
      fromaddr=active_master.from_address,
      categories_steps=['nacl_integration'],
      exclusions=exclusions,
      relayhost=config.Master.smtp,
      subject='buildbot %(result)s in %(projectName)s on %(builder)s, '
              'revision %(revision)s',
      sheriffs=None,
      extraRecipients=['*****@*****.**'],
      lookup=master_utils.FilterDomain(),
      forgiving_steps=forgiving_steps,
      tree_status_url=None,
      use_getname=True))
Пример #2
0
 def get_mail_notifier_statuses(self, mail_notifiers):
   statuses = []
   for mail_notifier in mail_notifiers:
     notifying_builders = mail_notifier['builders']
     extra_recipients = mail_notifier['extraRecipients']
     send_to_interested_useres = mail_notifier.get('sendToInterestedUsers',
                                                   False)
     subject = mail_notifier.get('subject')
     if subject:
       statuses.append(
           MailNotifier(fromaddr=self._active_master.from_address,
                        mode='problem',
                        subject=subject,
                        sendToInterestedUsers=send_to_interested_useres,
                        extraRecipients=extra_recipients,
                        lookup=master_utils.FilterDomain(),
                        builders=notifying_builders))
     else:
       statuses.append(
           MailNotifier(fromaddr=self._active_master.from_address,
                        mode='problem',
                        sendToInterestedUsers=send_to_interested_useres,
                        extraRecipients=extra_recipients,
                        lookup=master_utils.FilterDomain(),
                        builders=notifying_builders))
   return statuses
def Update(config, active_master, c):
  c['status'].append(chromium_notifier.ChromiumNotifier(
      fromaddr=active_master.from_address,
      categories_steps=gardener_categories_steps,
      exclusions=exclusions,
      relayhost=config.Master.smtp,
      subject='buildbot %(result)s in %(projectName)s on %(builder)s, '
              'revision %(revision)s',
      status_header=warning_header,
      extraRecipients=active_master.tree_closing_notification_recipients,
      lookup=master_utils.FilterDomain(),
      forgiving_steps=forgiving_steps,
      public_html='../master.chromiumos/public_html',
      sheriffs=['sheriff_cr_cros_gardeners'],
      use_getname=True))
  c['status'].append(chromium_notifier.ChromiumNotifier(
      fromaddr=active_master.from_address,
      categories_steps=memory_categories_steps,
      exclusions=exclusions,
      relayhost=config.Master.smtp,
      subject='buildbot %(result)s in %(projectName)s on %(builder)s, '
              'revision %(revision)s',
      status_header=warning_header,
      extraRecipients=active_master.tree_closing_notification_recipients,
      lookup=master_utils.FilterDomain(),
      forgiving_steps=forgiving_steps,
      public_html='../master.chromiumos/public_html',
      sheriffs=['sheriff_memory'],
      use_getname=True))
Пример #4
0
def Update(config, active_master, c):
    c['status'].append(
        V8Notifier(fromaddr=active_master.from_address,
                   categories_steps=vtunejit_categories_steps,
                   exclusions={},
                   relayhost=config.Master.smtp,
                   sendToInterestedUsers=False,
                   extraRecipients=['*****@*****.**'],
                   status_header=
                   'buildbot failure in %(project)s on %(builder)s, %(steps)s',
                   lookup=master_utils.FilterDomain(),
                   forgiving_steps=forgiving_steps))
    c['status'].append(
        V8Notifier(fromaddr=active_master.from_address,
                   categories_steps=clusterfuzz_categories_steps,
                   exclusions={},
                   relayhost=config.Master.smtp,
                   sendToInterestedUsers=False,
                   extraRecipients=[
                       '*****@*****.**',
                       '*****@*****.**',
                   ],
                   status_header=
                   'buildbot failure in %(project)s on %(builder)s, %(steps)s',
                   lookup=master_utils.FilterDomain(),
                   forgiving_steps=forgiving_steps))
def Update(update_config, active_master, c):
    c['status'].append(
        gatekeeper.GateKeeper(
            tree_status_url=None,
            fromaddr=active_master.from_address,
            categories_steps={'lkgr': ['compile']},
            relayhost=update_config.Master.smtp,
            subject='buildbot %(result)s in %(projectName)s on %(builder)s, '
            'revision %(revision)s',
            sheriffs=None,
            extraRecipients=['*****@*****.**'],
            lookup=master_utils.FilterDomain(),
            use_getname=True))
    return helper.Update(c)
Пример #6
0
def Update(config, active_master, c):
  c['status'].append(gatekeeper.GateKeeper(
      fromaddr=active_master.from_address,
      categories_steps=categories_steps,
      exclusions=exclusions,
      relayhost=config.Master.smtp,
      subject='buildbot %(result)s in %(projectName)s on %(builder)s, '
              'revision %(revision)s',
      extraRecipients=active_master.tree_closing_notification_recipients,
      lookup=master_utils.FilterDomain(),
      forgiving_steps=forgiving_steps,
      public_html='../master.chromium/public_html',
      sheriffs=['sheriff'],
      tree_status_url=active_master.tree_status_url,
      use_getname=True))
Пример #7
0
def Update(config, active_master, c):
    c['status'].append(
        V8Notifier(fromaddr=active_master.from_address,
                   categories_steps=categories_steps,
                   exclusions=exclusions,
                   relayhost=config.Master.smtp,
                   sendToInterestedUsers=True,
                   status_header=
                   'buildbot failure in %(project)s on %(builder)s, %(steps)s',
                   lookup=master_utils.FilterDomain(),
                   forgiving_steps=forgiving_steps))
    c['status'].append(
        V8Notifier(fromaddr=active_master.from_address,
                   categories_steps=x87_categories_steps,
                   exclusions={},
                   relayhost=config.Master.smtp,
                   sendToInterestedUsers=False,
                   extraRecipients=[
                       '*****@*****.**', '*****@*****.**'
                   ],
                   status_header=
                   'buildbot failure in %(project)s on %(builder)s, %(steps)s',
                   lookup=master_utils.FilterDomain(),
                   forgiving_steps=forgiving_steps))
Пример #8
0
def Update(config, active_master, c):
  lookup = master_utils.FilterDomain(
      domain=active_master.master_domain,
      permitted_domains=active_master.permitted_domains)

  c['status'].append(gatekeeper.GateKeeper(
      fromaddr=active_master.from_address,
      categories_steps=categories_steps,
      exclusions=exclusions,
      relayhost=config.Master.smtp,
      subject='buildbot %(result)s in %(projectName)s on %(builder)s, '
              'revision %(revision)s',
      extraRecipients=active_master.tree_closing_notification_recipients,
      lookup=lookup,
      forgiving_steps=forgiving_steps,
      tree_status_url=active_master.tree_status_url))
Пример #9
0
 def __init__(self,
              config,
              active_master,
              categories_steps,
              sendToInterestedUsers=False,
              extraRecipients=None):
     extraRecipients = extraRecipients or []
     chromium_notifier.ChromiumNotifier.__init__(
         self,
         fromaddr=active_master.from_address,
         categories_steps=categories_steps,
         relayhost=config.Master.smtp,
         sendToInterestedUsers=sendToInterestedUsers,
         extraRecipients=extraRecipients,
         status_header=
         'buildbot failure in %(project)s on %(builder)s, %(steps)s',
         lookup=master_utils.FilterDomain(),
         forgiving_steps=FORGIVING_STEPS,
     )
Пример #10
0
def Update(config, active_master, c):
    # chrome likely/possible failures to the chrome sheriffs, closing the
    # chrome tree
    c['status'].append(
        gatekeeper.GateKeeper(
            fromaddr=active_master.from_address,
            categories_steps=chromium_categories_steps,
            exclusions=exclusions,
            relayhost=config.Master.smtp,
            subject=subject,
            extraRecipients=active_master.tree_closing_notification_recipients,
            lookup=master_utils.FilterDomain(),
            forgiving_steps=forgiving_steps,
            tree_status_url=active_master.tree_status_url,
            sheriffs=['sheriff'],
            public_html='../master.chromium/public_html',
            use_getname=True))
    # chromium os failures close the chromeOS tree
    c['status'].append(
        gatekeeper.GateKeeper(
            fromaddr=active_master.from_address,
            categories_steps=close_chromiumos_categories_steps,
            exclusions=exclusions,
            relayhost=config.Master.smtp,
            subject='Closer ' + subject,
            extraRecipients=(
                active_master.alternate_tree_closing_notification_recipients),
            lookup=master_utils.FilterDomain(),
            forgiving_steps=forgiving_steps,
            tree_status_url=active_master.alternate_tree_status_url,
            sheriffs=['sheriff_cros_mtv', 'sheriff_cros_nonmtv'],
            public_html='../master.chromium/public_html',
            use_getname=True,
            throttle=True))
    # chromium os buried failures/flakiness to chrome OS folk
    c['status'].append(
        gatekeeper.GateKeeper(
            fromaddr=active_master.from_address,
            categories_steps=warn_chromiumos_categories_steps,
            exclusions=exclusions,
            relayhost=config.Master.smtp,
            subject='Warning ' + subject,
            status_header=warning_header,
            extraRecipients=[],
            lookup=master_utils.FilterDomain(),
            forgiving_steps=forgiving_steps,
            tree_status_url=None,
            sheriffs=['sheriff_cros_mtv', 'sheriff_cros_nonmtv'],
            public_html='../master.chromium/public_html',
            use_getname=True))
    # while the Aura folk are in panic fast mode, let them know to help on
    # failures that may be related to their special configs.
    c['status'].append(
        gatekeeper.GateKeeper(
            fromaddr=active_master.from_address,
            categories_steps=warn_aura_chromiumos_categories_steps,
            exclusions=exclusions,
            relayhost=config.Master.smtp,
            subject='Warning ' + subject,
            status_header=warning_header,
            extraRecipients=[],
            lookup=master_utils.FilterDomain(),
            forgiving_steps=forgiving_steps,
            tree_status_url=None,
            sheriffs=['sheriff_aura'],
            public_html='../master.chromium/public_html',
            use_getname=True))
Пример #11
0
def Update(config, active_master, c):
    c['status'].append(
        failures_notifier.FailuresNotifier(
            fromaddr=active_master.from_address,
            categories_steps=categories_steps,
            exclusions=exclusions,
            relayhost=config.Master.smtp,
            subject='buildbot %(result)s in %(projectName)s on %(builder)s, '
            'revision %(revision)s',
            extraRecipients=active_master.tree_closing_notification_recipients,
            lookup=master_utils.FilterDomain(),
            forgiving_steps=forgiving_steps,
            use_getname=True,
            public_html='../master.chromium/public_html',
            sheriffs=['sheriff_memory'],
            status_header=
            'Failure notification for "%(steps)s" on "%(builder)s".\n'
            'Please see if the failures are related to your commit and take '
            'appropriate actions (e.g. revert, update suppressions, notify '
            'sheriff, etc.).\n\n'
            'For more info on the memory waterfall please see these links:\n'
            'http://dev.chromium.org/developers/tree-sheriffs/sheriff-details-chromium/memory-sheriff\n'
            'http://dev.chromium.org/developers/how-tos/using-valgrind\n'
            'http://dev.chromium.org/developers/how-tos/using-valgrind/threadsanitizer\n'
            '\nBy the way, the current memory sheriff is on the CC list.'))

    # Set up a separate notifier for the Dr.Memory bots.
    # TODO(timurrrr); merge this with the main notifier once DrMemory is verified
    # to send few e-mails.
    drm_categories_steps = {
        'drmemory_tester': [
            # Please keep this list sorted.
            'memory test: base_unittests',
            'memory test: components',
            'memory test: content',
            'memory test: crypto',
            'memory test: ipc_tests',
            'memory test: media',
            'memory test: net',
            'memory test: printing',
            'memory test: remoting',
            'memory test: sql',
            'memory test: sync',
            'memory test: sync_unit_tests',
            'memory test: ui_unittests',
            'memory test: unit',  # unit_tests might be sharded
            'memory test: unit_1',
            'memory test: unit_2',
            'memory test: url',
        ],
    }
    c['status'].append(
        failures_notifier.FailuresNotifier(
            fromaddr=active_master.from_address,
            categories_steps=drm_categories_steps,
            exclusions=exclusions,
            relayhost=config.Master.smtp,
            subject='drmemory buildbot %(result)s in %(projectName)s on '
            '%(builder)s, revision %(revision)s',
            sendToInterestedUsers=True,
            extraRecipients=(
                active_master.tree_closing_notification_recipients +
                # Also send e-mails to the Dr.Memory team.
                [
                    '*****@*****.**',
                    '*****@*****.**',
                    '*****@*****.**',
                ]),
            lookup=master_utils.FilterDomain(),
            forgiving_steps=forgiving_steps,
            use_getname=True,
            public_html='../master.chromium/public_html',
            sheriffs=['sheriff_memory'],
            status_header=
            'Failure notification for "%(steps)s" on "%(builder)s".\n\n'
            'NOTE: This bot is in testing mode, but most of the failures are '
            'expected to indicate real bugs.\n\n'
            'Please see if the failures are related to your commit and take '
            'appropriate actions (e.g. revert, update suppressions, notify '
            'sheriff, etc.).\n\n'
            'For more info on Dr.Memory waterfall please see these links:\n'
            'http://dev.chromium.org/developers/tree-sheriffs/sheriff-details-chromium/memory-sheriff\n'
            'http://dev.chromium.org/developers/how-tos/using-drmemory\n'
            '\nBy the way, the current memory sheriff is on the CC list.'))