<div dir="ltr"><div class="gmail_default" style="font-size:small">Hi All,</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">To follow up on the discussion in the Architecture Committee meeting yesterday, we're trying to make better use of GitHub labels.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"># TL;DR</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Take a look at <a href="https://github.com/kata-containers/tests/pull/1466" target="_blank">https://github.com/kata-containers/tests/pull/1466</a>.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">(The reason the PR is in the "tests" repo by the way is that this repo is always cloned when running CI tests for any _other_ repo. That allows us to add additional CI tests on the labels database and labels on issues/PRs. See below for further info if you're interested).</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">__________</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"># The problem</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><span style="background-color:transparent;color:rgb(0,0,0);font-family:Arial;font-size:11pt;white-space:pre-wrap">The Kata GitHub-hosted repositories currently have a variety of labels that can be added to GitHub issues and PRs. However, the current labels suffer from a number of problems:</span></div><div class="gmail_default" style="font-size:small"><span style="background-color:transparent;font-size:11pt;white-space:pre-wrap;color:rgb(0,0,0);font-family:Arial"><br></span></div><div class="gmail_default" style="font-size:small"><span style="background-color:transparent;font-size:11pt;white-space:pre-wrap;color:rgb(0,0,0);font-family:Arial">- Some labels refer to the same concept.</span></div><div class="gmail_default" style="font-size:small"><span style="background-color:transparent;font-size:11pt;white-space:pre-wrap;color:rgb(0,0,0);font-family:Arial">- Only a few of the labels have descriptions.</span></div><div class="gmail_default" style="font-size:small"><span style="background-color:transparent;font-size:11pt;white-space:pre-wrap;color:rgb(0,0,0);font-family:Arial">- The meaning of some of the labels is unclear.</span></div><div class="gmail_default" style="font-size:small"><span style="background-color:transparent;font-size:11pt;white-space:pre-wrap;color:rgb(0,0,0);font-family:Arial">- The overall set of labels is not adequate to make intelligent queries on the pool of open issues.</span></div><div class="gmail_default" style="font-size:small"><span style="background-color:transparent;font-size:11pt;white-space:pre-wrap;color:rgb(0,0,0);font-family:Arial">- Labels are not applied consistently to issues.</span></div><div class="gmail_default"><span id="m_-825425798463943566gmail-docs-internal-guid-ffc85e4b-7fff-551e-796f-2a6a7be8bbc7"><div class="gmail_default"><span><br></span></div># Plan</span></div><div class="gmail_default"><br><span><p dir="ltr" style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">Establish a small set of labels that are succinct, intuitive, documented and which allow us to capture the many dimensions of an issue/PR.</span></p><p dir="ltr" style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap"><br></span></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap"># Approach</span></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap"><br></span></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">- Create a YAML database of labels that will be used consistently across all Kata repos.</span></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">- Allow individual repos to supplement the base list of labels by providing their own YAML snippet.</span></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">- Add tooling to check and view the YAML database files.</span></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">- Get agreement on the labels to use.</span></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">- Apply the labels defined in the YAML labels database to all Kata repos.</span></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">- Add CI checks to validate the labels database.</span></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">- Review the backlog of issues + PRs across all repos and manually apply labels.</span></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">- Start to improve our process by:</span></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="background-color:transparent;color:rgb(0,0,0);font-family:Arial;font-size:11pt;white-space:pre-wrap">  - Creating GitHub issue templates to auto-label issues.</span><br></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">  - Make the bug triage slightly more formal by having the team review each new issue and apply a few labels (things like priority).</span></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">  - Consider using Planning Poker to "size" issues and break them down into manageable chunks.</span></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">  - Auto-add labels to PRs showing their relative sizes (by SLOC).</span></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">  - Start using GitHub projects to manage upcoming releases.</span></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt">  - ...</p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><br></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt">The basic mantra is "automate and organise" - we don't want to impose heavy process, but we do want to make better use of our resources. By applying a few well-chosen labels (automatically where possible), we can start to get a clearer picture of the backlog, which will hopefully allow us to clear it down more quickly.</p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><br></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt">Labels will allow us to categorise issues and PRs quickly rather than having to trawl through screens of log output, etc. Also, labels will allow teams to focus on particular groups of issues and PRs rather than having to fall back on the dreaded "github ping" to get attention on particular areas.</p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><br></p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt">Please comment on <a href="https://github.com/kata-containers/tests/pull/1466" target="_blank">https://github.com/kata-containers/tests/pull/1466</a> so we can start moving this forward.</p><p style="font-size:small;line-height:1.38;margin-top:0pt;margin-bottom:0pt"><br></p></span></div><div class="gmail_default" style="font-size:small">Cheers,</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">James</div><div><span style="font-family:monospace,monospace;color:rgb(136,136,136)">---</span><br></div><div dir="ltr" class="m_-825425798463943566gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><a href="https://katacontainers.io/" style="color:rgb(17,85,204);font-family:monospace,monospace" target="_blank">https://katacontainers.io/</a><span style="color:rgb(136,136,136);font-family:monospace,monospace"> | <a href="https://github.com/clearcontainers" target="_blank">https://github.com/kata-containers</a></span><font color="#888888"><span style="font-family:monospace,monospace"><span style="font-family:monospace,monospace"><br></span></span></font></div><div dir="ltr"><font color="#888888"><font face="monospace, monospace">Open Source Technology Center</font><br><font face="monospace, monospace">Intel Corporation (UK) Ltd. - Co. Reg. #1134945 - Pipers Way, Swindon SN3 1RJ.</font></font><br></div></div></div></div></div></div></div></div></div></div>