Подавая код как физическое лицо, вы соглашаетесь с individual Contributor License Agreement. Подавая код как юридическое лицо, вы соглашаетесь с corporate Contributor License Agreement.
Это уведомление должно остаться первым пунктом в файле CONTRIBUTING.MD.
Содержание сгенерировано с помощью DocToc
Благодарим вас за интерес к внесению вклада в проект GitLab. Этот гайд подробно описывает, как можно эффективно вносить вклад в проект GitLab.
Ищете что-нибудь сделать? Посмотрите метку Принятие запросов слияния.
GitLab представлен в двух версиях: GitLab Community Edition (CE) — бесплатная и открытая версия, и GitLab Enterprise Edition (EE) — коммерческая версия. В этом гайде вы встретите сокращения CE и EE.
Если вы прочли этот гайд и хотите узнать, как работает команда [GitLab core team], обратитесь к процессу внесения вклада в GitLab.
Пожалуйста, сообщайте о подозрительных уязвимостях безопасности в личной переписке на адрес support@gitlab.com
. Также см. раздел разглашения на сайте GitLab.com. Пожалуйста, не создавайте публично доступные задачи для подозрительных уязвимостей безопасности.
GitLab является популярным открытым проектом, а возможности для работы над задачами и запросами слияния ограничены. Из уважения к нашим добровольцам задачи и запросы слияния, не соответствующие указанным ниже рекомендациям, могут быть закрыты без объяснения причин.
Пожалуйста, относитесь к нашим добровольцам с учтивостью и уважением, это поможет решить вашу задачу быстрее.
Задачи и запросы слияния должны быть на английском языке и содержать подходящий язык для всех возрастных групп.
Если вкладчик больше не активно работает над отправленным запросом слияния, мы можем решить, что запрос будет завершен одним из наших тренеров по запросам слияния или закрыт. Мы принимаем решение на основе важности изменения для нашего видения продукта. Если тренер по запросам слияний будет завершать запрос слияния, мы присваиваем метку ~"тренер завершит".
Пожалуйста, помогайте другим пользователям GitLab, когда можете. Каналы, через которые люди могут обратиться, указаны на странице получения помощи.
Подпишитесь на рассылку, отвечайте на вопросы о GitLab на StackOverflow или отвечайте в канале IRC. Вы также можете зарегистрироваться на CodeTriage, чтобы помочь с оставшимися задачами на GitHub.
Если вы хотите внести вклад в GitLab, но не знаете, с чего начать, посмотрите задачи с меткой "Принятие запросов слияния" и весом < 5. Эти задачи будут иметь приемлемый размер и сложность для начала вклада в GitLab.
Чтобы позволить асинхронному управлению задачами, мы используем майлстоун и метки. Лидеры и менеджеры продуктов занимаются большей частью расписаний майлстоунов. Присвоение меток — обязанность каждого.
Большинство задач имеют метки хотя бы одного из следующих типов:
Все метки, их значение и приоритет определены на странице меток.
Если вы наткнулись на задачу, которая не имеет ни одной из этих меток, и у вас есть возможность присвоить метки, вы всегда можете добавить команду и тип, а иногда и предмет.
Примеры типовых меток: ~"proposal для функциональности", ~defect, ~клиент, ~безопасность, и ~"направление".
Некоторые типовые метки имеют присвоенный им приоритет, который автоматически делает их более заметными, в зависимости от их важности.
Типовые метки всегда пишутся строчной буквой и могут иметь любой цвет, кроме синего (который уже зарезервирован для меток предмета).
Описание каждого типа меток дано на странице меток.
Метки предмета определяют область или функцию GitLab, которую затрагивает эта задача. Они не всегда необходимы, но очень удобны.
Если вы эксперт в определенной области, это позволяет вам легче находить задачи для выполнения. Вы также можете подписываться на эти метки, чтобы получать электронное письмо каждый раз, когда задача получает метку предмета, соответствующую вашему опыту.
Примеры меток предмета: ~wiki, ~"регистрация контейнеров", ~ldap, ~api, ~issues, ~"merge requests", ~labels, и ~"регистрация контейнеров".
Метки предмета всегда пишутся строчной буквой.
Метки команд указывают, какая команда ответственна за эту задачу. Присвоение метки команды гарантирует, что задача получит внимание соответствующих людей.
Текущие метки команд: ~Build, ~CI, ~Discussion, ~Documentation, ~Edge, ~Gitaly, ~Platform, ~Prometheus, ~Release, и ~"UX".
Описание каждой команды дано на странице меток.
Внутри этих меток команд, у нас также есть метки ~backend и ~frontend, чтобы показать, требуется ли работа с серверной части, клиентской части или обоих.
Метки команд всегда пишутся с заглавной буквы, чтобы они были видны как первая метка для любой задачи.
Метки приоритета помогают нам четко коммуницировать ожидания работы для выпуска. Есть два уровня меток приоритета:
Задачи, полезные для наших пользователей, "хорошие кандидаты", которые мы в данный момент не имеем возможности выполнить или хотим отдать им меньший приоритет, маркируются как ~"Принятие запросов слияния", чтобы сообщество могло внести свой вклад.
Участники сообщества могут отправлять запросы слияния для любой задачи, но метка ~"Принятие запросов слияния" имеет особое значение. Она указывает на изменения, которые:
Мы хотим избежать ситуации, когда участник выбирает задачу с меткой ~"Принятие запросов слияния", а затем его запрос слияния закрывается, потому что мы понимаем, что это не соответствует нашему видению, или мы хотим решить проблему по-другому.
Мы добавляем метку ~"Принятие запросов слияния" к:
После добавления метки ~"Принятие запросов слияния", мы стараемся оценить вес задачи. Мы используем вес задачи, чтобы участники могли знать, насколько трудной задача. Дополнительно:
Пожалуйста, обратитесь к [руководству UX для GitLab].
Чтобы получить поддержку для вашей конкретной проблемы, пожалуйста, используйте каналы получения помощи получение помощи.
Трекер задач GitLab CE на GitLab.com предназначен для багов, связанных с последним выпуском GitLab и предложений по новым функциям.
Когда вы отправляете задачу, пожалуйста, следуйте указаниям по оформлению задач, приведенным ниже. Некоторые задачи могут не быть рассмотрены, поэтому ваша задача более вероятно будет рассмотрена, если вы отправите объединённый запрос, который частично или полностью решает проблему.
Если вы не уверены, куда отправить задачу, начните с почтового списка или Stack Overflow. Там много полезных пользователей GitLab, которые могут помочь вам быстро. Если окажется, что ваша конкретная проблема является ошибкой, она найдёт своё место там.
Если вы знаете решение существующей ошибки, пожалуйста, откройте задачу, чтобы отслеживать её, а затем откройте соответствующий объединённый запрос, который может исправить эту ошибку.
Наши правила отсеивания задач описаны в нашем руководстве описание правил отсеивания задач. Вы очень приветствуетесь, чтобы помочь команде GitLab отсеивать задачи. Мы также организуем события по отсеиванию задач events по отсеиванию задач каждое квартальное.Самое важное — это обеспечить обратную связь со стороны разработчиков для всех актуальных задач. Поэтому приоритет отдается упоминанию разработчиков, которые могут помочь с этими задачами. Пожалуйста, выберите кого-то с соответствующим опытом из команды GitLab. Если нет упоминаний людей с такой экспертизой, просмотрите историю коммитов для затронутых файлов, чтобы найти подходящего человека.
Для создания предложения по новой функции для CE, откройте задачу на трекере задач трекера задач CE.
Для предложений по новым функциям для EE, откройте задачу на трекере задач трекера задач EE.
Чтобы помочь отслеживать предложения по новым функциям, мы создали метку предложение по новой функции
. В настоящее время пользователи, которые не являются членами проекта, не могут добавлять метки. Вы можете попросить одного из [членов основной команды] добавить метку предложение по новой функции
к задаче или добавить следующий фрагмент кода сразу после вашего описания на новой строке: ~"предложение по новой функции"
.
Пожалуйста, делайте предложения по новым функциям как можно меньше и проще. Сложные предложения могут быть отредактированы, чтобы сделать их меньше и проще.
Пожалуйста, отправьте предложения по новым функциям с помощью шаблона задачи 'Предложение по новой функции' предоставленного на трекере задач.
Для изменений в интерфейсе может быть полезно сначала создать макет. Если вы хотите создать что-либо самостоятельно, рассмотрите возможность открытия задачи для обсуждения того, интересно ли включить это в GitLab.
Поиск в трекере задач перед отправкой своей собственной задачи, возможно, кто-то еще столкнулся с тем же вопросом или предложением новой функции. Поддержите его эмодзи и/или примите участие в обсуждении.
Пожалуйста, отправляйте ошибки с использованием шаблона задачи 'Ошибка' предоставляемого на трекере задач. Текст в скобках служит для помощи в том, что следует включить. Пропустите его при отправке реальной задачи. Вы можете скопировать и вставить его, а затем отредактировать по своему усмотрению.
Вес задач позволяет нам получить представление о количестве работы, необходимой для решения одной или нескольких задач. Это помогает планировать работу более точно.
Вы приветствуетесь к установке веса любой задачи. Следуя указаниям ниже, это сделает управление этим легким, без ненужного усложнения.
Каждый ежемесячный выпуск имеет соответствующую задачу на трекере задач CE для отслеживания функциональности, поврежденной данным выпуском, и любых исправлений, которые должны быть включены в патч-выпуск (см. 8.3 Регрессии как пример).
Как указано в описании задачи, рабочий процесс состоит в том, чтобы опубликовать одну заметку с ссылкой на задачу, описывающую регрессию, а затем обновить эту заметку ссылкой на объединенный запрос, который исправляет её, когда он становится доступным.
Если вы участник, который не имеет необходимых прав для обновления заметок других пользователей, пожалуйста, опубликуйте новую заметку с ссылками на задачу и объединенный запрос.
Управляющий выпуском будет обновлять заметки в задаче регрессии по мере того, как исправления будут применены.
Чтобы отслеживать вещи, которые можно было бы улучшить в базе кода GitLab, мы создали метку ~"технический долг" в трекере задач GitLab.
Эта метка должна быть добавлена к задачам, которые описывают вещи, которые можно улучшить, временные решения, которые были приняты, код, который нуждается в рефакторинге, функции, которые требуют дополнительного внимания, и все остальные вещи, которые были оставлены за счет высокой скорости развития.
Любой может создать задачу, хотя вам может потребоваться спросить о добавлении специальной метки, если у вас нет прав делать это самостоятельно. Дополнительные метки могут быть объединены с меткой технический долг
, чтобы сделать расписание улучшений для выпуска более удобным.
Задачи, отмеченные меткой технический долг
, имеют ту же приоритетность, что и задачи, которые описывают новую функцию, которая должна быть введена в GitLab, и должны быть запланированы для выпуска соответствующим лицом.Убедитесь, что вы упоминаете объединённый запрос, с которым связано задачу технический долг
, в описании задачи.
Для задач, связанных с открытой структурой управления GitLab, есть метка ~"stewardship".
Эта метка используется для задач, где структура управления GitLab является предметом обсуждения. Например, если GitLab Inc. планирует удалить функции из GitLab CE, чтобы сделать их эксклюзивными в GitLab EE, такие задачи будут помечены меткой ~"stewardship".
Недавний пример этого был задачей для переноса API отслеживания времени в GitLab CE.
Мы приветствуем объединённые запросы с исправлениями и улучшениями кода, тестов и/или документации GitLab. Задачи, специально предназначенные для общественных вкладов, помечены меткой
Принимает Объединённые Запросы
на нашем трекере задач для CE
и [EE][accepting-mrs-эе], но вы свободны вкладывать в любую другую задачу, которую считаете подходящей.
Пожалуйста, учтите, что если задача помечена для текущего майлстоуна как до начала, так и во время работы над ней, сотрудник может взять на себя объединённый запрос, чтобы гарантировать завершение работы до даты выпуска.
Если вы хотите добавить новую функцию, которая не помечена, лучшим вариантом будет сначала создать обратную связь задачу (если она ещё не существует) и оставить комментарий, просущий пометить её как Принимает Объединённые Запросы
. Пожалуйста, включите скриншоты или wireframes, если функция также изменяет интерфейс.
Объединённые запросы должны быть открыты на GitLab.com.
Если вы новичок в разработке GitLab (или веб-разработке в целом), см. раздел Я хочу внести свой вклад! для начала работы с потенциально простыми задачами.
Чтобы начать разработку GitLab скачайте GitLab Development Kit и увидите раздел Разработка для некоторых руководящих принципов.
Если возможно, пожалуйста, отправьте объединённый запрос с исправлением или улучшением, включая тесты. Если вы не знаете, как исправить проблему, но можете написать тест, который демонстрирует проблему, мы примем этот тест тоже. В общем, исправления ошибок, включающие регрессионный тест, обычно принимаются быстро, тогда как новые функции без полноценных тестов менее вероятно получат своевременную обратную связь. Процесс создания объединённого запроса следующий:
master
bin/changelog
master
Документация
из меню "Выберите шаблон" и заполни шаблон.Решает #XXX
или Закрывает #XXX
, чтобы автоматически закрыть задачи после слияния MR.grep css-class ./app -R
.Для примеров обратной связи на запросы на слияние посмотрите уже закрытые запросы на слияние. Если ты хочешь быстрый отзыв на свой запрос на слияние, не стесняйся упомянуть одного из [ядерной команды] или одного из тренеров по запросам на слияние. Пожалуйста, убедись, что твой запрос на слияние удовлетворяет критериям принятия вклада.
Когда твой код проверяется и когда ты проверяешь запросы на слияние, учти руководства по проверке кода.
git rebase -i
для объединения коммитов).master
).QueryRecorder
.Если ты вносишь вклад в GitLab, знай, что изменения включают больше, чем просто код. Мы имеем следующее определение завершённости. Пожалуйста, убедись, что поддерживаешь функциональность, которую ты вносишь, через все эти шаги.
/doc
Если ты добавляешь зависимость в GitLab (например, операционную систему пакета), пожалуйста, рассмотри обновление следующего и укажи применимость каждого в своём запросе на слияние:1. Объявление добавления в статье блога выпуска (создай её, если она ещё не существует) https://gitlab.com/gitlab-com/www-gitlab-com/merge_requests/
.
на второй строкеКак вкладчики и поддерживаемые проектом, мы обязуемся уважать всех людей, которые вносят свой вклад через отчеты об ошибках, публикацию запросов на новые возможности, обновление документации, отправку pull-запросов или патчей, а также другие виды деятельности.
Мы привержены тому, чтобы сделать участие в этом проекте свободным от харассмента опытом для всех, независимо от уровня опыта, пола, гендера, внешнего вида, личной внешности, размера фигуры, расы, этнического происхождения, возраста или вероисповедания.
Примерами недопустимого поведения со стороны участников являются использование сексуального языка или образов, оскорбительных замечаний или личных атак, троллинг, публичное или частное харассмент, оскорбления или другое некорректное поведение.
Поддерживающие проект лица имеют право и обязанность удалять, редактировать или отклонять комментарии, коммиты, код, изменения в вики, задачи и другие вклады, которые не соответствуют этому Коду поведения. Поддерживающие проект лица, которые не следуют Коду поведения, могут быть удалены из команды проекта.
Этот код поведения применим как внутри пространства проекта, так и в общественных пространствах, когда индивид представляет проект или его сообщество.
Инциденты абьюза, харассмента или других недопустимых действий можно сообщить по электронной почте contact@gitlab.com
.
Этот Код поведения адаптирован из Contributor Covenant, версия 1.1.0, доступна по адресу http://contributor-covenant.org/version/1/1/0/.
[^1]: Пожалуйста, обратите внимание, что спецификации, кроме спецификаций на JavaScript, считаются частью бэкэнд-кода.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )