Exemple #1
0
def get_component_impacts_from_url(component_name,
                                   regression_range,
                                   job_type,
                                   platform=None):
    """Gets component impact string using the build information url."""
    start_revision, end_revision = get_start_and_end_revision(
        regression_range, job_type)
    if not end_revision:
        return Impacts()

    found_impacts = dict()
    for build in ['stable', 'beta']:
        build_revision_mappings = revisions.get_build_to_revision_mappings(
            platform)
        if not build_revision_mappings:
            return Impacts()
        mapping = build_revision_mappings.get(build)
        if not mapping:
            return Impacts()
        chromium_revision = mapping['revision']
        component_revision = get_component_information_by_name(
            chromium_revision, component_name)
        if not component_revision:
            return Impacts()
        branched_from = revisions.revision_to_branched_from(
            component_revision['url'], component_revision['rev'])
        if not branched_from:
            return Impacts()
        impact = get_impact(
            {
                'revision': branched_from,
                'version': mapping['version']
            }, start_revision, end_revision)
        found_impacts[build] = impact
    return Impacts(found_impacts['stable'], found_impacts['beta'])
Exemple #2
0
def get_impacts_from_url(regression_range, job_type, platform=None):
  """Gets impact string using the build information url."""
  component_name = data_handler.get_component_name(job_type)
  if component_name:
    return get_component_impacts_from_url(component_name, regression_range,
                                          job_type, platform)

  start_revision, end_revision = get_start_and_end_revision(
      regression_range, job_type)
  if not end_revision:
    return Impacts()

  build_revision_mappings = revisions.get_build_to_revision_mappings(platform)
  if not build_revision_mappings:
    return Impacts()

  extended_stable = get_impact(
      build_revision_mappings.get('extended_stable'), start_revision,
      end_revision)
  stable = get_impact(
      build_revision_mappings.get('stable'), start_revision, end_revision)
  beta = get_impact(
      build_revision_mappings.get('beta'), start_revision, end_revision)

  return Impacts(stable, beta, extended_stable)
Exemple #3
0
def get_impacts_from_url(regression_range, job_type, platform=None):
  """Gets impact string using the build information url."""
  # FIXME: We can't handle component builds atm.
  if data_handler.get_component_name(job_type):
    return Impacts()

  start_revision, end_revision = get_start_and_end_revision(
      regression_range, job_type)
  if not end_revision:
    return Impacts()

  build_revision_mappings = revisions.get_build_to_revision_mappings(platform)
  if not build_revision_mappings:
    return Impacts()

  stable = get_impact(
      build_revision_mappings.get('stable'), start_revision, end_revision)
  beta = get_impact(
      build_revision_mappings.get('beta'), start_revision, end_revision)

  return Impacts(stable, beta)
Exemple #4
0
def get_component_impacts_from_url(component_name,
                                   regression_range,
                                   job_type,
                                   platform=None):
  """Gets component impact string using the build information url."""
  start_revision, end_revision = get_start_and_end_revision(
      regression_range, job_type)
  if not end_revision:
    return Impacts()

  build_revision_mappings = revisions.get_build_to_revision_mappings(platform)
  if not build_revision_mappings:
    return Impacts()

  found_impacts = dict()
  for build in ['extended_stable', 'stable', 'beta']:
    mapping = build_revision_mappings.get(build)
    # TODO(yuanjunh): bypass for now but remove it after ES is enabled.
    if build == 'extended_stable' and not mapping:
      found_impacts[build] = Impact()
      continue
    if not mapping:
      return Impacts()
    chromium_revision = mapping['revision']
    component_revision = get_component_information_by_name(
        chromium_revision, component_name)
    if not component_revision:
      return Impacts()
    branched_from = revisions.revision_to_branched_from(
        component_revision['url'], component_revision['rev'])
    if not branched_from:
      return Impacts()
    impact = get_impact({
        'revision': branched_from,
        'version': mapping['version']
    }, start_revision, end_revision)
    found_impacts[build] = impact
  return Impacts(found_impacts['stable'], found_impacts['beta'],
                 found_impacts['extended_stable'])
Exemple #5
0
def get_component_impacts_from_url(component_name,
                                   regression_range,
                                   job_type,
                                   platform=None):
    """Gets component impact string using the build information url."""
    start_revision, end_revision = get_start_and_end_revision(
        regression_range, job_type)
    if not end_revision:
        return Impacts()

    found_impacts = {}
    for build in ["stable", "beta"]:
        build_revision_mappings = revisions.get_build_to_revision_mappings(
            platform)
        if not build_revision_mappings:
            return Impacts()
        mapping = build_revision_mappings.get(build)
        if not mapping:
            return Impacts()
        chromium_revision = mapping["revision"]
        component_revision = get_component_information_by_name(
            chromium_revision, component_name)
        if not component_revision:
            return Impacts()
        branched_from = revisions.revision_to_branched_from(
            component_revision["url"], component_revision["rev"])
        if not branched_from:
            return Impacts()
        impact = get_impact(
            {
                "revision": branched_from,
                "version": mapping["version"]
            },
            start_revision,
            end_revision,
        )
        found_impacts[build] = impact
    return Impacts(found_impacts["stable"], found_impacts["beta"])