New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 667952 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocking:
issue 667954
issue 681094



Sign in to add a comment

Extract COMPONENT/TEAM from all owner files into a single file in src/

Project Member Reported by st...@chromium.org, Nov 22 2016

Issue description

TPMs are working with dev teams to add COMPONENT/TEAM information into the owner files in the chromium repo. The goal is to create mapping from directories to components, and also mapping from components to teams.

Proposal is https://docs.google.com/document/d/1jty6UsFMW9-SYgpQC-ztEc3lltziOQBBArMkROCSTh0/edit#heading=h.xgjl2srtytjt
Examples: https://cs.chromium.org/search/?q=%22%23+COMPONENT:%22+file:OWNERS

We plan to extract such info from all the dispersed owner files into a single file which is also committed into the chromium repo in src/ root directory.
In this way, it would be much easier for tools to leverage the info for automatic bug assignment, etc.

Concrete tasks here:
1. Create a script to extract COMPONENT/TEAM from owner files into a single file in a machine-readable format like:
{
  "directory-to-component": {
    "path/to/feature1": "feature1-component",
    "path/to/feature2": "feature2-component",
  },
  "component-to-team": {
    "feature1-component": "feature1-owner@chromium.org",
    "feature2-component": "feature2-owner@chromium.org",
  }
}

2. Set up a buildbot cron job to do this periodically and automatically commit that single file into chromium repo. (similar to automatic dep roll)
 

Comment 1 Deleted

Comment 2 by sshru...@google.com, Nov 23 2016

Blocking: 667954

Comment 3 by st...@chromium.org, Nov 23 2016

Tools that could leverage the info include:
* findit : culprit finder for test/compile on chromium waterfall and flaky tests on CQ and Waterfall.
* predator (f.k.a "findit for crashes") : culprit finder for Chrome crashes on ClusterFuzz/Fracas/Cracas.
* monorail : chromium's issue tracker.
* chromium-try-flakes : detect flaky tests on CQ, and file bugs on monorail.
* sheriffbots: check bugs without expected attentions and nag if needed.
* ...(there might be more)

Apart from tools, such information would be useful for TEs when they triage bug and try to assign a component manually.

Comment 4 by st...@chromium.org, Nov 23 2016

Description: Show this description

Comment 5 by st...@chromium.org, Nov 23 2016

Components: Tools>Test>FindIt

Comment 6 by st...@chromium.org, Nov 23 2016

Description: Show this description
Owner: robert...@chromium.org
Status: Started (was: Available)
Blocking: 681094

Comment 9 by sshru...@google.com, Jan 13 2017

Labels: Proj-DirectoryOwnership
Project Member

Comment 10 by bugdroid1@chromium.org, Jan 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e4f4643a0ddc25991785406d4a64b0e51d743ddc

commit e4f4643a0ddc25991785406d4a64b0e51d743ddc
Author: robertocn <robertocn@chromium.org>
Date: Fri Jan 20 01:51:50 2017

Script to extract components from OWNERS files throughout the repo.

This script traverses the src tree and parses OWNERS file for
COMPONENT/TEAM information. It gathers this information in the form of a
machine readable mapping and (optionally) saves it to disk.

R=stgao@chromium.org
BUG= 667952 

Review-Url: https://codereview.chromium.org/2611803003
Cr-Commit-Position: refs/heads/master@{#444938}

[add] https://crrev.com/e4f4643a0ddc25991785406d4a64b0e51d743ddc/tools/checkteamtags/extract_components.py
[add] https://crrev.com/e4f4643a0ddc25991785406d4a64b0e51d743ddc/tools/checkteamtags/extract_components_test.py
[add] https://crrev.com/e4f4643a0ddc25991785406d4a64b0e51d743ddc/tools/checkteamtags/owners_file_tags.py

Project Member

Comment 11 by bugdroid1@chromium.org, Jan 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build.git/+/ef5420d2e881c6eaa6a39d6a4cceea6308563330

commit ef5420d2e881c6eaa6a39d6a4cceea6308563330
Author: Roberto Carrillo <robertocn@google.com>
Date: Fri Jan 27 18:51:53 2017

Recipe to update the component and team mappings from OWNERS files.

This is meant to be run periodically to keep
gs://chormium-owners/component_map.json  always up to date.

R=stgao@chromium.org,iannucci@chromium.org
BUG= 667952 

Change-Id: I7b01bf53eb3f77eacfeb5e8b176d0465a79b3ac6
Reviewed-on: https://chromium-review.googlesource.com/425719
Commit-Queue: Roberto Carrillo <robertocn@chromium.org>
Reviewed-by: Shuotao Gao (OOO until Feb 23) <stgao@chromium.org>

[add] https://crrev.com/ef5420d2e881c6eaa6a39d6a4cceea6308563330/scripts/slave/recipes/findit/chromium/update_components.expected/addition.json
[add] https://crrev.com/ef5420d2e881c6eaa6a39d6a4cceea6308563330/scripts/slave/recipes/findit/chromium/update_components.expected/conflict.json
[add] https://crrev.com/ef5420d2e881c6eaa6a39d6a4cceea6308563330/scripts/slave/recipes/findit/chromium/update_components.expected/failed_upload.json
[add] https://crrev.com/ef5420d2e881c6eaa6a39d6a4cceea6308563330/scripts/slave/recipes/findit/chromium/update_components.expected/no_change.json
[add] https://crrev.com/ef5420d2e881c6eaa6a39d6a4cceea6308563330/scripts/slave/recipes/findit/chromium/update_components.expected/removal.json
[add] https://crrev.com/ef5420d2e881c6eaa6a39d6a4cceea6308563330/scripts/slave/recipes/findit/chromium/update_components.expected/script_error.json
[add] https://crrev.com/ef5420d2e881c6eaa6a39d6a4cceea6308563330/scripts/slave/recipes/findit/chromium/update_components.py

Roberto, is there any pending work here?
Project Member

Comment 13 by bugdroid1@chromium.org, Jan 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build.git/+/120e59739d2ee1d7160326eadb155f35f2a77e36

commit 120e59739d2ee1d7160326eadb155f35f2a77e36
Author: Roberto Carrillo <robertocn@google.com>
Date: Fri Jan 27 19:53:48 2017

Adding schedule for update_components recipe.

Every six hours run the script that generates the mapping of components
and teams as a json file, and update the gs bucket with its contents if
necessary.

R=stgao@chromium.org,iannucci@chromium.org
BUG= 667952 

Change-Id: I3e7328386ba003af9ec0c49b70c96085dc3566ea
Reviewed-on: https://chromium-review.googlesource.com/430963
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Roberto Carrillo <robertocn@chromium.org>

[modify] https://crrev.com/120e59739d2ee1d7160326eadb155f35f2a77e36/masters/master.tryserver.chromium.linux/master.cfg
[modify] https://crrev.com/120e59739d2ee1d7160326eadb155f35f2a77e36/masters/master.tryserver.chromium.linux/slaves.cfg

Comment 14 by st...@chromium.org, Feb 24 2017

Are we done with the effort on this bug and the two blocked bugs by this one?
Cc: ymzhang@chromium.org sshruthi@chromium.org anan...@chromium.org
Friendly ping :)

Roberto, mind a short update on the current status of this effort? Are we done or are there any remaining work?
Roberto, I believe this task is done, and the component map is getting updated by bots on a regular basis. Last I heard, there was a bug but it has been since fixed. Could you please confirm if there is any remaining work and close if not.
Status: Fixed (was: Started)
Sorry for the delay. #16 is correct. This task is completed.

Sign in to add a comment