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

Issue 902507 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 3
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 920290



Sign in to add a comment

Add autogenerate documentation about CQ builders to //docs/infra

Project Member Reported by martiniss@chromium.org, Nov 6

Issue description

Developers generally don't know much about the CQ right now. I think some of them know where cq.cfg lives, but that file isn't the easiest to read, and doesn't have other information about the CQ.

I had the idea of making an autogenerated markdown file in //docs/infra which talks about the CQ. It could also talk about the main waterfall, what's covered and isn't, etc... 

Any ideas for what to put there?

This idea came because someone on IRC asked about what trybot covered a builder that had failed when he had landed a change. We could also include the trybots.py information in this document theoretically, although the data in trybots.py would probably have to be moved source side, which is doable (although another bug).
 
I think we generally need more documentation talking about how things are built and tested and how LUCI works, so that part sounds good.

I'm less clear about which things you'd want to autogenerate, though?
I was thinking the auto generation could be based on cq.cfg. It could list the exact builders that we cover on the CQ. They could also link to code search so that devs know where they could find the builders that the CQ builders mirror. They'd use a link like https://cs.chromium.org/search/?q=win-rel+file:trybots.py
Cc: yihongg@chromium.org yzjr@chromium.org
Yihong and Yang, Brad said you had wanted some documentation on how CQ works? 
Cc: tandrii@chromium.org
+andrii FYI since this sounds like it'll be in part a more human-readable version of cq.cfg.
Beware, that I'll be changing a) location b) structure of cq.cfg for CQ for branches (issue 719954)
Owner: martiniss@chromium.org
Status: Assigned (was: Available)
The auto generated docs just need a file on the same branch in order to be up to date, which it sounds like will exist. So I should be fine. Thanks for the warning.
I'm thinking I'm going to write a doc which describes CQ, and then have it link to an autogenerated markdown page which lists all the builders, with links to relevant configs.

https://crrev.com/c/1321579 is the (WIP) CL.
It sounds reasonable to at least try something and see how it looks :).
Project Member

Comment 9 by bugdroid1@chromium.org, Nov 8

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

commit b5ad5b225218441b1f2abe7fafaae9c63b18c314
Author: Stephen Martinis <martiniss@chromium.org>
Date: Thu Nov 08 01:24:04 2018

Add CQ markdown doc

Adds a general CQ documentation page. Will add an auto generated
markdown doc based on cq.cfg once this lands.

Bug:  902507 
Change-Id: I153efab72885faa2d70051f4372bfbcc2164f6d4
Reviewed-on: https://chromium-review.googlesource.com/c/1321579
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Sergey Berezin <sergeyberezin@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606270}
[add] https://crrev.com/b5ad5b225218441b1f2abe7fafaae9c63b18c314/docs/infra/cq.md

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 19

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

commit f0ccc185a9f3c4690eec7437ed9072fe43680cd2
Author: Stephen Martinis <martiniss@chromium.org>
Date: Mon Nov 19 20:45:26 2018

Add autogenerated CQ documentation with presubmit

The presubmit check ensures that the builders are sorted, first by group,
then by name. It also ensures that the file generated by the script is up
to date.

Bug:  902507 

Change-Id: Iaaf7048b6b6edcc99befff7c3e8602adfd2c5681
Reviewed-on: https://chromium-review.googlesource.com/c/1327809
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609422}
[modify] https://crrev.com/f0ccc185a9f3c4690eec7437ed9072fe43680cd2/docs/infra/cq.md
[add] https://crrev.com/f0ccc185a9f3c4690eec7437ed9072fe43680cd2/docs/infra/cq_builders.md
[modify] https://crrev.com/f0ccc185a9f3c4690eec7437ed9072fe43680cd2/infra/config/PRESUBMIT.py
[modify] https://crrev.com/f0ccc185a9f3c4690eec7437ed9072fe43680cd2/infra/config/branch/cq.cfg
[add] https://crrev.com/f0ccc185a9f3c4690eec7437ed9072fe43680cd2/infra/config/branch/cq_cfg_presubmit.py

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 30

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

commit 70cab9d2b640236dbe7514876ab171e09605f26a
Author: Stephen Martinis <martiniss@chromium.org>
Date: Fri Nov 30 20:20:59 2018

Add check for path regexps

This CL adds a check to //infra/config/branch/cq_cfg_presubmit.py to
check the path regexps in cq.cfg to make sure there is at least one file
that they could match with.

This CL also fixes a few typos which already exist in cq.cfg, as a
result of this missing checking.

Bug:  902507 
Change-Id: I535d6671e4598eda27a0919ef14404a228398ea7
Reviewed-on: https://chromium-review.googlesource.com/c/1334940
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612756}
[modify] https://crrev.com/70cab9d2b640236dbe7514876ab171e09605f26a/docs/infra/cq_builders.md
[modify] https://crrev.com/70cab9d2b640236dbe7514876ab171e09605f26a/infra/config/PRESUBMIT.py
[modify] https://crrev.com/70cab9d2b640236dbe7514876ab171e09605f26a/infra/config/branch/cq.cfg
[modify] https://crrev.com/70cab9d2b640236dbe7514876ab171e09605f26a/infra/config/branch/cq_cfg_presubmit.py
[add] https://crrev.com/70cab9d2b640236dbe7514876ab171e09605f26a/infra/config/branch/cq_cfg_presubmit_unittest.py

Status: Fixed (was: Assigned)
This is done! 
Blocking: 920290

Sign in to add a comment