mirror of
https://github.com/zed-industries/zed.git
synced 2025-02-05 02:20:10 +00:00
Move label data to a data file so multiple scripts can reference them
This commit is contained in:
parent
ed484ecf5f
commit
285fb51771
2 changed files with 32 additions and 24 deletions
13
script/label_data.json
Normal file
13
script/label_data.json
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"core_labels": [
|
||||
"defect",
|
||||
"design",
|
||||
"documentation",
|
||||
"duplicate",
|
||||
"enhancement",
|
||||
"panic / crash",
|
||||
"support"
|
||||
],
|
||||
"additional_labels": ["ai", "linux", "vim", "windows"],
|
||||
"ignored_label": "ignore top-ranking issues"
|
||||
}
|
|
@ -1,38 +1,33 @@
|
|||
import json
|
||||
import os
|
||||
import pathlib
|
||||
from collections import defaultdict
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Optional
|
||||
|
||||
import typer
|
||||
from github import Github
|
||||
from github.Issue import Issue
|
||||
from github.Repository import Repository
|
||||
from pytz import timezone
|
||||
|
||||
import typer
|
||||
from typer import Typer
|
||||
|
||||
app: Typer = typer.Typer()
|
||||
|
||||
DATETIME_FORMAT: str = "%m/%d/%Y %I:%M %p"
|
||||
CORE_LABELS: set[str] = {
|
||||
"defect",
|
||||
"design",
|
||||
"documentation",
|
||||
"duplicate",
|
||||
"enhancement",
|
||||
"panic / crash",
|
||||
"support",
|
||||
}
|
||||
|
||||
label_data_file_path = pathlib.Path(__file__).parent.parent / "label_data.json"
|
||||
|
||||
with open(label_data_file_path, "r") as label_data_file:
|
||||
label_data = json.load(label_data_file)
|
||||
CORE_LABELS: set[str] = set(label_data["core_labels"])
|
||||
# A set of labels for adding in labels that we want present in the final
|
||||
# report, but that we don't want being defined as a core label, since issues
|
||||
# with without core labels are flagged as errors.
|
||||
ADDITIONAL_LABELS: set[str] = {
|
||||
"ai",
|
||||
"linux",
|
||||
"vim",
|
||||
"windows",
|
||||
}
|
||||
IGNORED_LABEL_TEXT: str = "ignore top-ranking issues"
|
||||
ADDITIONAL_LABELS: set[str] = set(label_data["additional_labels"])
|
||||
IGNORED_LABEL: str = label_data["ignored_label"]
|
||||
|
||||
|
||||
ISSUES_PER_LABEL: int = 20
|
||||
|
||||
|
||||
|
@ -153,7 +148,7 @@ def get_label_to_issues(
|
|||
)
|
||||
|
||||
for label in labels:
|
||||
query: str = f'repo:{repository.full_name} is:open is:issue {date_query} label:"{label}" -label:"{IGNORED_LABEL_TEXT}" sort:reactions-+1-desc'
|
||||
query: str = f'repo:{repository.full_name} is:open is:issue {date_query} label:"{label}" -label:"{IGNORED_LABEL}" sort:reactions-+1-desc'
|
||||
|
||||
issues = github.search_issues(query)
|
||||
|
||||
|
@ -191,7 +186,7 @@ def get_error_message_to_erroneous_issues(
|
|||
error_message_to_erroneous_issues: defaultdict[str, list[Issue]] = defaultdict(list)
|
||||
|
||||
# Query for all open issues that don't have either a core or the ignored label and mark those as erroneous
|
||||
filter_labels: set[str] = CORE_LABELS | {IGNORED_LABEL_TEXT}
|
||||
filter_labels: set[str] = CORE_LABELS | {IGNORED_LABEL}
|
||||
filter_labels_text: str = " ".join([f'-label:"{label}"' for label in filter_labels])
|
||||
query: str = f"repo:{repository.full_name} is:open is:issue {filter_labels_text}"
|
||||
|
||||
|
@ -245,7 +240,7 @@ def get_issue_text(
|
|||
[
|
||||
"## errors with issues (this section only shows when there are errors with issues)\n",
|
||||
f"This script expects every issue to have at least one of the following core labels: {core_labels_text}",
|
||||
f"This script currently ignores issues that have the following label: {IGNORED_LABEL_TEXT}\n",
|
||||
f"This script currently ignores issues that have the following label: {IGNORED_LABEL}\n",
|
||||
"### what to do?\n",
|
||||
"- Adjust the core labels on an issue to put it into a correct state or add a currently-ignored label to the issue",
|
||||
"- Adjust the core and ignored labels registered in this script",
|
||||
|
|
Loading…
Reference in a new issue