MOSN выпущен под лицензией Apache 2.0 и следует стандартному процессу разработки на Github, используя Github Issue для отслеживания проблем и объединяя Pull Request в ветку master. Этот документ поможет вам понять, как участвовать в разработке.
Перед отправкой Pull Request необходимо подписать Лицензионное соглашение участника (CLA). Хотя подписание CLA не даёт вам права на отправку в основной репозиторий, это означает, что мы можем принять ваш вклад, и после подписания CLA вы становитесь почётным автором этого проекта. Для активных участников даже возможно присоединение к нашей основной команде и получение прав на объединение Pull Request.
Чтобы ускорить процесс объединения PR, у нас есть несколько рекомендаций, которые могут быть полезны:
Создание ветки: рекомендуется использовать новую ветку для разработки, а ветку master рекомендуется поддерживать в соответствии с изменениями в MOSN.
Описание цели PR: если есть соответствующая обсуждаемая проблема, можно сослаться на неё. Если проблемы нет, необходимо чётко описать цель PR, например, исправление ошибки. Если изменения значительные, лучше предоставить подробное описание изменений.
Внесение новых коммитов для обработки замечаний по обзору: после получения замечаний по PR рекомендуется вносить новые коммиты вместо добавления их к исходному коммиту, чтобы облегчить просмотр новых изменений рецензентом.
Стремление к небольшим PR: несвязанные изменения лучше размещать в разных PR, что облегчает быстрый обзор и объединение.
Избегание принудительного push: поскольку после принудительного push замечания по обзору не соответствуют исходной записи кода, это затрудняет понимание процесса обзора другими людьми. Исключение составляют случаи, когда требуется перебазирование для разрешения конфликтов с master, после чего возможен только принудительный push.
Рекомендуется начинать журнал коммитов с одного слова, например:
После начального слова кратко описывается содержание изменений, например, добавление новой функции, а также, при исправлении ошибок, указываются условия возникновения ошибки и её последствия. Например:
bugfix: got the wrong CACert filename when converting the listen filter from istio LDS, mosn may not listen success then.
Если описание сложное и не может быть выражено одной фразой, можно написать несколько строк. Журнал коммитов не должен быть слишком длинным.
Если сложно писать на английском языке, можно чётко описать ситуацию в комментариях PR на китайском языке.
Следующие требования к Pull Request не являются обязательными, но могут помочь вам при отправке запроса:
Формат кода:
goimports -w yourfile.go
или golint yourfile.go
, чтобы отформатировать код;Наличие документации: все новые файлы .go должны иметь простые комментарии doc, содержащие как минимум один тег author с вашим именем, и предпочтительно хотя бы один абзац, описывающий назначение класса.
Добавление заголовков лицензий: добавьте заголовки лицензий Apache Software Foundation ко всем новым файлам .go (можно скопировать из существующих файлов проекта).
Указание авторства: укажите себя в качестве автора изменённых файлов .go.
Документация: добавьте документацию.
Тестирование: проведение некоторых модульных тестов также может быть полезным.
Покрытие кода: убедитесь, что покрытие кода не снижается.
Следование правилам Gitflow: рассматривайте PR как часть рабочего процесса Gitflow и следуйте правилам Pull Request.
Версии MOSN состоят из трёх цифр, формат x.x.x, где первая цифра учитывает совместимость, вторая — новые функции и улучшения, а третья — исправления ошибок.
При проверке кода участниками проекта рекомендуется следовать следующей стратегии:
Проверить соответствие PR соответствующей проблеме.
Оценить обоснованность решения.
Проверить результаты UT и Benchmark.
Обратить внимание на код, изменяющий структуру, использование глобальных переменных, особые случаи и обработку параллелизма.
Во время слияния:
Проверьте, соответствует ли журнал коммитов стандартам, при необходимости внесите изменения.
Обычно автоматически сгенерированные журналы squash не используются, предпочтительнее их редактировать и настраивать.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )