aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatasha Pirogova <galkinanatalie@gmail.com>2025-02-14 21:00:17 +0300
committerGitHub <noreply@github.com>2025-02-14 21:00:17 +0300
commit010e83fee42c48e44c89fbb43af2f80980b7c379 (patch)
tree3063c7122f74e88faff7711d2a18f3471077d737
parentc15923e87a5a79152bbd677a49a192f2c909a10d (diff)
downloadydb-010e83fee42c48e44c89fbb43af2f80980b7c379.tar.gz
KIKIMR-22202 Changes in PR template and docs for contributors with requirements to PR description (#14031)
Co-authored-by: Ivan Blinkov <ivan@ydb.tech>
-rw-r--r--.github/PULL_REQUEST_TEMPLATE.md5
-rw-r--r--.github/workflows/pr_labels.yaml1
-rw-r--r--ydb/docs/ru/core/contributor/suggest-change.md95
3 files changed, 99 insertions, 2 deletions
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index def54e933a..727c1b9dad 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,4 +1,4 @@
-### Changelog entry <!-- a user-readable short description of changes introduced in this PR -->
+### Changelog entry <!-- a user-readable short description of the changes that goes to CHANGELOG.md and Release Notes -->
...
@@ -8,11 +8,12 @@
* Experimental feature
* Improvement
* Performance improvement
+* User Interface
* Bugfix
* Backward incompatible change
* Documentation (changelog entry is not required)
* Not for changelog (changelog entry is not required)
-### Additional information
+### Description for reviewers <!-- (optional) description for those who read this PR -->
...
diff --git a/.github/workflows/pr_labels.yaml b/.github/workflows/pr_labels.yaml
index efcf96c9dc..758641b461 100644
--- a/.github/workflows/pr_labels.yaml
+++ b/.github/workflows/pr_labels.yaml
@@ -27,6 +27,7 @@ jobs:
['* Experimental feature', 'experimental-feature'],
['* Improvement', 'improvement'],
['* Performance improvement', 'performance'],
+ ['* User Interface', 'ui'],
['* Bugfix', 'bugfix'],
['* Backward incompatible change', 'backward-incompatible'],
['* Documentation', 'documentation'],
diff --git a/ydb/docs/ru/core/contributor/suggest-change.md b/ydb/docs/ru/core/contributor/suggest-change.md
index 02b574c925..fc0253435d 100644
--- a/ydb/docs/ru/core/contributor/suggest-change.md
+++ b/ydb/docs/ru/core/contributor/suggest-change.md
@@ -239,6 +239,101 @@ git push
{% endlist %}
+### Заполните описание к Pull Request'у {#create_pr_desc}
+
+При создании Pull Request'а описание будет заполнено текстом из шаблона, который нужно отредактировать:
+
+1. **Changelog Category.** В этом блоке нужно оставить одну категорию из списка, которой соответствует изменение (см. [как выбрать категорию](#choose_category)). Есть категории, для которых сообщения из Changelog Entry можно не заполнять, они не будут опубликованы в списке изменений. Остальные категории определяют раздел списка изменений, в который попадёт сообщение.
+2. **Changelog Entry.** В этот блок следует добавить описание изменения для конечных пользователей системы (см. [требования](#changelog_entry_req)). Содержимое этого блока будет опубликовано в [списке изменений](../changelog-server.md), если PR будет замержен.
+3. **Description for reviewers.** В этот блок можно добавить ссылку на задачу и любую дополнительную информацию, которая будет полезна для ревью вашего изменения. Содержимое этого блока не попадёт в список изменений.
+
+
+#### Требования к Changelog Entry {#changelog_entry_req}
+
+Сообщение в Changelog Entry должно отвечать следующим требованиям:
+
+- должно быть написано на английском языке;
+- содержать не менее 20 символов, если [выбранная категория](#choose_category) имеет раздел в списке изменений;
+- опираться на термины, которые используются в [глоссарии](../concepts/glossary.md);
+- описывать, что в работе системы изменилось для конечного пользователя;
+- соответствовать дополнительным требованиям, определяемым выбранной категорией.
+
+
+#### Как выбрать Changelog Category {#choose_category}
+
+#|
+|| Категория | Раздел в списке изменений | Описание | Требования к сообщению ||
+|| Feature
+| Функциональность
+| Новая функциональность. Иногда выпускается под флагом для сохранения совместимости.
+
+Если вы делаете более одного PR'а в рамках задачи, эту категорию нужно выбрать только для финального коммита, а для промежуточных коммитов — Not for changelog.
+| Должно включать:
+
+ * ссылку на документацию (если описание превышает два предложения);
+ * описание того, как включить функциональность, если она выпускается под флагом (если описание превышает одно предложение, его также стоит вынести в документацию).
+||
+|| Experimental feature
+| Функциональность с пометкой «экспериментально»
+| Новая функциональность. Всегда выпускается под флагом для сохранения совместимости.
+
+Отличие от предыдущей категории в том, что даже после тестирования мы не можем гарантировать конечному пользователю корректную работу системы с этим изменением.
+| Должно включать:
+
+ * ссылку на документацию (если описание превышает два предложения);
+ * описание того, как включить функциональность (если описание превышает одно предложение, его также стоит вынести в документацию).
+||
+|| Improvement
+| Функциональность
+| Изменения существующей функциональности.
+| Должно включать ссылку на документацию (если описание превышает два предложения).
+||
+|| Performance improvement
+| Производительность
+| Изменения в производительности системы — ускорения, оптимизации, улучшения, которые привели к измеряемым изменениям в производительности.
+|
+||
+|| Bugfix
+| Исправления ошибок
+| Исправления ошибок, с которыми пользователь сталкивался или мог столкнуться в предыдущих релизных версиях.
+| Должно содержать:
+
+ * ссылку на задачу в GitHub;
+ * описание условий, при которых пользователь мог столкнуться с проблемой;
+ * описание проявления проблемы;
+ * описание способа исправления (необязательно, если логика работы системы принципиально не изменилась).
+||
+|| User Interface
+| {{ ydb-short-name }} UI
+| Любые изменения в {{ ydb-short-name }} UI
+|
+||
+|| Backward incompatible changes
+| Изменения с потерей обратной совместимости
+| Изменения с потерей обратной совместимости с предыдущими релизными версиями.
+| Должно содержать:
+
+ * инструкцию по обновлению кластера без downtime приложений, которые используют изменяемую функциональность;
+ * инструкцию по откату обновлений с кластера без downtime приложений.
+||
+|| Documentation
+| -
+| Изменения в документации.
+| Не будет опубликовано в истории изменений. Сообщение заполнять не нужно.
+||
+|| Not for Changelog
+| -
+| Изменения, которые не видны конечному пользователю — рефакторинг кода, тесты, CI/CD, изменения CHANGELOG.md, исправления ошибок в коде новой функциональности (которая не попала в предыдущие релизные версии).
+| Не будет опубликовано в истории изменений. Сообщение заполнять не нужно.
+||
+|#
+
+{% note info %}
+
+Важно выбрать только одну категорию, поэтому не рекомендуется включать в один PR изменения из разных категорий, например, новую функциональность и исправление ошибки. Однако если так случилось, следует выбрать категорию более важного для пользователя изменения, а в блок Changelog Entry добавить описание всех изменений.
+
+{% endnote %}
+
### Предварительные проверки {#precommit_checks}
Перед мержем изменений выполняются прекоммитные проверки Pull Request'а.