aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/README.md
diff options
context:
space:
mode:
authorthegeorg <thegeorg@yandex-team.ru>2022-02-10 16:45:08 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:08 +0300
commit4e839db24a3bbc9f1c610c43d6faaaa99824dcca (patch)
tree506dac10f5df94fab310584ee51b24fc5a081c22 /contrib/README.md
parent2d37894b1b037cf24231090eda8589bbb44fb6fc (diff)
downloadydb-4e839db24a3bbc9f1c610c43d6faaaa99824dcca.tar.gz
Restoring authorship annotation for <thegeorg@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/README.md')
-rw-r--r--contrib/README.md64
1 files changed, 32 insertions, 32 deletions
diff --git a/contrib/README.md b/contrib/README.md
index 44863a0baf..e1dfacafc6 100644
--- a/contrib/README.md
+++ b/contrib/README.md
@@ -1,6 +1,6 @@
Все спорные вопросы, пожелания по процессу, фичереквесты можно присылать на [arcadia-wg@](mailto:arcadia-wg@yandex-team.ru)
-## Что такое contrib?
+## Что такое contrib?
Это набор общих компонент в Аркадии из внешнего интернета, от которых зависят проекты внутри Аркадии.
@@ -14,13 +14,13 @@
Каждый компонент внутри contrib собирается ya make и добавляется при соблюдении нескольких условий, в том числе подтверждении от профильных групп людей.
-## Добавление библиотеки в contrib
+## Добавление библиотеки в contrib
Перед добавлением библиотеки нужно убедиться, что библиотека действительно полезна. См. ниже про то, "Как комитеты согласуют новые библиотеки в contrib". Это те факторы, которые стоит учесть до начала процесса согласования. Возможно, в процессе анализа вы найдете более подходящие альтернативы в Аркадии или внешнем мире.
Добавление новой библиотеки начинается с **[создания тикета в очереди CONTRIB](https://st.yandex-team.ru/createTicket?queue=CONTRIB)**.
-## Мне нужна библиотека, написанная в Яндексе, которой нет в Аркадии. Можно ли положить её в contrib?
+## Мне нужна библиотека, написанная в Яндексе, которой нет в Аркадии. Можно ли положить её в contrib?
Нет, `contrib/` — место для внешнего кода, которым мы (компания Яндекс) не владеем.
@@ -35,7 +35,7 @@
Из этого правила есть де-факто исключения для библиотек, которые были помещены в `contrib/` до его введения. Впоследствии они должны быть исключены из contrib.
Список таких библиотек приведён в тикете: [CONTRIB-396](https://st.yandex-team.ru/CONTRIB-396)
-## Обновление библиотеки в Contrib
+## Обновление библиотеки в Contrib
Если в обновлении библиотеки нужна помощь Devtools и/или это мажорное обновление библиотеки, то это лучше проводить через тикет в очереди CONTRIB.
@@ -46,7 +46,7 @@
А если вы обновляете библиотеку, которую используют всего пара проектов, то можно со всеми потребителями договориться сразу в PR.
Тикет не обязателен.
-## Команда, правила и процессы Contrib
+## Команда, правила и процессы Contrib
Текущий процесс относится к каждому ЯП в Аркадии: C++, Java, Python, Go
Весь текущий и грядущий workflow работы команд, отвечающих за общие библиотеки, реализован на базе Стартрека и очереди **[Contrib](https://st.yandex-team.ru/contrib)**.
@@ -74,12 +74,12 @@ Happy Path для пользователя, которому понадобил
Итоговый процесс импорта библиотеки выглядит следующим образом:
![alt](https://jing.yandex-team.ru/files/alexeykruglov/contrib2.png)
-## Java (note)
+## Java (note)
1. Для java "обновление библиотеки" – это заливка новой версии, тикет в этом случае необязателен.
2. На время переезда, библиотеку, разрабатываемую в Яндексе можно положить в контриб, если нет возможность перевезти её в Аркадию. На это нужен тикет. После заезда библиотеки в Аркадию, её нужно будет удалить из contrib и перейти на зависимость по исходникам.
-## SLA (committees)
+## SLA (committees)
Мы переложили некоторую часть вышеописанного процесса на рельсы Трекера с его тригерами и SLA.
@@ -89,7 +89,7 @@ Happy Path для пользователя, которому понадобил
Уведомления о нарушении SLA приходят заранее (пока только кому:rudskoy и кому:saint), и мы постараемся своевременно на это реагировать.
-## Для переезжающих в Аркадию проектов
+## Для переезжающих в Аркадию проектов
Базовые рекомендации по процессу:
1. Не забывайте указывать родительский тикет для переезда из очереди ARCADIA и/или MIGRATION.
@@ -99,15 +99,15 @@ Happy Path для пользователя, которому понадобил
Но исполнитель задачи, при необходимости обсудить какую-либо библиотеку, попросит автора унести это обсуждение в отдельную задачу.
-## Проектные contrib
-
+## Проектные contrib
+
В Аркадии не допускается существование проектных contrib. Это усложняет поиск по коду, его переиспользование и аудит лицензий.
В процессе миграции допускается временно смигрировать библиотеку, у которой есть явные аналоги в Аркадии. Это возможно лишь при наличии коммитментов от команды со сроком на переезд на общеаркадийные компоненты.
В некотором приближении мы будем запрещать для проектов внутри Аркадии зависеть от таких библиотек.
-## Как комитеты согласуют новые библиотеки в contrib
+## Как комитеты согласуют новые библиотеки в contrib
**Зачем нужно согласовывать новые библиотеки.**
Чтобы сообщить пользователю о наличии уже существующих решений на релевантном или другом ЯП в Аркадии или более подходящих решений из внешнего мира.
@@ -147,27 +147,27 @@ Happy Path для пользователя, которому понадобил
**Что случится, если будет отказ**
Сколько стоит переход на альтернативные решения и т.д.
-
-## После импорта
-
-### Подключение к автосборке
-
-Добавленную библиотеку нужно подключить к автосборке.
-По умолчанию считается, что все добавленные contrib-ы должны собираться под серверный Linux.
-Подключить контриб к дополнительным платформам можно в [autocheck/$PLATFORM](https://arcanum.yandex-team.ru/arc/trunk/arcadia/autocheck).
-
-### Тесты на contrib
-
-Тесты контрибов делятся на нативные (существующие в апстриме) и написанные внутри (далее — кастомные).
-Последние могут понадобиться, чтобы проверить, что контриб обеспечивает какую-то функциональность
-(например, работу с кодировкой CP1251, про которую в апстриме никто не знает) и чтобы удостовериться,
-что контриб правильно работает в условиях аркадийной сборки в монобинарь.
-
-Нативные тесты можно подключить к автосборке, если они используют поддерживаемый в Аркадии фреймворк для тестирования
-(`BOOSTTEST` или `GTEST` для С++, `PY23_TEST` / `PY3TEST` для Python).
-
-Кастомные тесты пишутся точно также, как и обычные аркадийные тесты (см. [документацию](https://docs.yandex-team.ru/arcadia-cpp/cpp_test)).
-Такие тесты нужно сложить в директорию [devtools/contrib_tests](https://arcanum.yandex-team.ru/arc/trunk/arcadia/devtools/contrib_tests).
+
+## После импорта
+
+### Подключение к автосборке
+
+Добавленную библиотеку нужно подключить к автосборке.
+По умолчанию считается, что все добавленные contrib-ы должны собираться под серверный Linux.
+Подключить контриб к дополнительным платформам можно в [autocheck/$PLATFORM](https://arcanum.yandex-team.ru/arc/trunk/arcadia/autocheck).
+
+### Тесты на contrib
+
+Тесты контрибов делятся на нативные (существующие в апстриме) и написанные внутри (далее — кастомные).
+Последние могут понадобиться, чтобы проверить, что контриб обеспечивает какую-то функциональность
+(например, работу с кодировкой CP1251, про которую в апстриме никто не знает) и чтобы удостовериться,
+что контриб правильно работает в условиях аркадийной сборки в монобинарь.
+
+Нативные тесты можно подключить к автосборке, если они используют поддерживаемый в Аркадии фреймворк для тестирования
+(`BOOSTTEST` или `GTEST` для С++, `PY23_TEST` / `PY3TEST` для Python).
+
+Кастомные тесты пишутся точно также, как и обычные аркадийные тесты (см. [документацию](https://docs.yandex-team.ru/arcadia-cpp/cpp_test)).
+Такие тесты нужно сложить в директорию [devtools/contrib_tests](https://arcanum.yandex-team.ru/arc/trunk/arcadia/devtools/contrib_tests).
## Как работает контрибная автоматика
После заведения CONTRIB-тикета приходит автоматика и по языку из компонента выбирает тех, кто будет одобрять библиотеку. Список одобряющих прописан в скрипте.