1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ryujinx-Ryujinx

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONTRIBUTING.md 17 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 01:28 ef20d67

Вклад в Ryujinx

Вы можете внести свой вклад в проект Ryujinx, предоставив PR, протестировав PR и выявив проблемы. Мы будем благодарны за ваш вклад в виде кода и других реализаций, а также за сообщения о проблемах, с которыми вы столкнулись.

Пожалуйста, прочитайте весь документ перед продолжением, так как это может значительно сэкономить время всем участникам.

Быстрые ссылки

Сообщение о проблемах

Мы всегда приветствуем отчёты об ошибках, предложения по улучшению и общую обратную связь. Вот несколько советов, которые помогут вам сделать сообщение о проблеме максимально эффективным.

Определите, куда сообщать

Исходный код Ryujinx распределён по нескольким репозиториям в организации Ryujinx. В зависимости от обратной связи вы можете подать заявку в другой репозиторий. Вот некоторые распространённые репозитории:

Поиск существующих проблем

Прежде чем подавать новую заявку, пожалуйста, выполните поиск по нашим открытым проблемам, чтобы проверить, существует ли она уже.

Если вы найдёте существующую проблему, пожалуйста, добавьте свою обратную связь к обсуждению. Рассмотрите возможность проголосовать (реакция 👍), так как это помогает нам расставить приоритеты популярных проблем в нашем списке задач.

Написание хорошего запроса на улучшение

Пожалуйста, ознакомьтесь с любыми открытыми запросами на улучшения, чтобы проверить, не был ли он уже предложен, и ознакомиться с форматом. Когда будете готовы представить предложение, используйте шаблон запроса на улучшение.

Составление хорошего отчёта об ошибке

Хорошие отчёты об ошибках облегчают проверку и выявление основной причины проблемы для разработчиков. Чем лучше отчёт об ошибке, тем быстрее проблема будет решена. В идеале отчёт об ошибке должен содержать следующую информацию:

  • Общее описание проблемы.
  • Минимальное воспроизведение, то есть наименьшее количество времени или конфигурация, необходимые для воспроизведения неправильного поведения. Это может быть в форме небольшого приложения, созданного самостоятельно, или путём предоставления файла сохранения и шагов воспроизведения для конкретной игры.
  • Описание ожидаемого поведения в сравнении с фактическим поведением, которое было замечено.
  • Информация об окружающей среде: ОС/дистрибутив, ЦП, ГП (включая драйвер), ОЗУ и т. д.
  • Файл журнала Ryujinx экземпляра запуска, где возникла проблема. Файлы журналов можно найти в папке [Executable Folder]/Logs, они названы в хронологическом порядке.
  • Дополнительная информация, например, является ли это регрессом по сравнению с предыдущими версиями? Существуют ли известные обходные пути?

Когда будете готовы подать отчёт об ошибке, используйте шаблон отчёта об ошибке.

Внесение изменений

Разработчики проекта объединят изменения, которые улучшают проект и соответствуют нашим стандартам качества кода.

Руководство по запросам на включение изменений и лицензия содержат дополнительные рекомендации.

Что нужно делать и чего нельзя делать

Пожалуйста:

  • Делайте: следуйте нашему стилю кодирования (для кода C#).
  • Делайте: отдавайте приоритет текущему стилю проекта или файла, который вы изменяете, даже если он отличается от общих рекомендаций.
  • Делайте: держите обсуждения сфокусированными. Когда возникает новая или связанная тема, часто лучше создать новый вопрос, чем отвлекать обсуждение.
  • Делайте: чётко укажите в заявке, что вы собираетесь её реализовать.
  • Делайте: ведите блог и пишите твиты (или...). О вашем вкладе, пожалуйста, регулярно!

Пожалуйста, не делайте следующее:

  • НЕ создавайте PR для изменений стиля.
  • НЕ удивляйте нас большими пул реквестами. Вместо этого создайте задачу и обсудите её с нами в Discord, чтобы мы могли договориться о направлении работы, прежде чем вы потратите большое количество времени.
  • НЕ фиксируйте код, который вы не писали. Если вы нашли код, который, по вашему мнению, подходит для добавления в Ryujinx, создайте задачу или обсудите это с нами в Discord перед тем, как продолжить работу.
  • НЕ отправляйте PR, которые изменяют файлы лицензирования или заголовки. Если вы считаете, что с ними есть проблема, создайте задачу, и мы будем рады обсудить это.

Предлагаемый рабочий процесс

Мы используем и рекомендуем следующий рабочий процесс:

  1. Создайте или найдите задачу для вашей работы.
    • Вы можете пропустить этот шаг для незначительных изменений.
    • Получите согласие от команды и сообщества, что предлагаемое изменение является хорошим, если оно значительного размера или изменяет основную функциональность.
    • Четко укажите, что вы собираетесь реализовать его, если это так. Вы можете запросить, чтобы задача была назначена вам. Обратите внимание: создатель задачи и исполнитель не обязательно должны быть одним и тем же человеком.
  2. Создайте личный форк репозитория на GitHub (если у вас его еще нет).
  3. В вашем форке создайте ветку из main (git checkout -b mybranch).
    • Ветви полезны, поскольку они изолируют ваши изменения от входящих изменений из апстрима. Они также позволяют создавать несколько PR из одного форка.
  4. Внесите и зафиксируйте изменения в вашей ветке.
    • Инструкции по сборке объясняют, как собирать и тестировать.
    • Сообщения фиксации должны быть четкими заявлениями о действии и намерении.
  5. Соберите репозиторий с вашими изменениями.
    • Убедитесь, что сборки чистые.
    • Убедитесь, что dotnet format был запущен, а все исправления протестированы и зафиксированы.
  6. Создайте пул реквест (PR) против основной ветки репозитория Ryujinx/Ryujinx.
    • Укажите в описании, какую задачу или улучшение решает ваше изменение.
    • Проверьте, проходят ли все проверки непрерывной интеграции. Обратитесь к Actions, чтобы проверить наличие ошибок.
  7. Дождитесь обратной связи или одобрения ваших изменений от основной команды разработчиков.
    • Подробная информация о процедуре рассмотрения пул реквеста в документации.
  8. Когда члены команды подписали, и все проверки зеленые, ваш PR будет объединен.
    • Следующий официальный билд автоматически включит ваше изменение.
    • Вы можете удалить ветку, которую использовали для внесения изменений.

Хорошие первые задачи

Команда отмечает самые простые задачи как хорошие первые задачи. Этот набор задач — место для начала, если вы заинтересованы во внесении вклада, но новичок в кодовой базе.

Сообщения фиксации

Форматируйте сообщения фиксации следующим образом (на основе Заметки о сообщениях Git Commit):

Кратко опишите изменение в 50 символах или меньше

Предоставьте более подробную информацию после первой строки. Оставьте одну пустую строку под
резюме и оберните все строки на 72 символа или меньше.

Если изменение исправляет проблему, оставьте еще одну пустую строку после последнего
абзаца и укажите, какая проблема исправлена, в следующем формате:

Исправить #42

Также старайтесь правильно разбивать коммиты, не слишком большие с несвязанными вещами в одном коммите и не слишком маленькие с одним и тем же небольшим изменением, примененным N раз в N разных коммитах.

PR - CI процесс

Система непрерывной интеграции (CI) Ryujinx автоматически выполнит необходимые сборки и запустит тесты (включая те, которые вы должны запустить) для PR. Сборки и тестовые прогоны должны быть чистыми или иметь ошибки, правильно зарегистрированные для ненадежных/неожиданных сбоев, не связанных с вашим изменением.

Если сборка CI по какой-либо причине завершается неудачно, PR будет отклонен. В запросе использован английский язык.

Вот перевод текста на русский:

Следует обратиться к вкладке actions для получения дополнительной информации о сбое. Есть несколько типичных причин такого сбоя:

  • команда dotnet format не была запущена в PR, и есть нерешённые проблемы со стилем;
  • в PR есть ошибка, которая приводит к сбою теста или ошибкам компилятора;
  • случайный сбой рабочего процесса иногда может привести к сбою CI. В этом случае сопровождающий вручную перезапустит задание.

Обратная связь по PR

Команда Ryujinx и участники сообщества предоставят обратную связь по вашим изменениям. Обратная связь от сообщества высоко ценится. Вы можете увидеть отсутствие обратной связи от команды, если сообщество уже предоставило хороший отзыв.

Два члена команды Ryujinx должны рассмотреть и одобрить каждый PR перед объединением. Они часто отвечают «LGTM, see nit». Это означает, что PR будет объединён после того, как обратная связь будет решена. «LGTM» = «выглядит хорошо для меня».

Существует множество мыслей и подходов о том, как эффективно обсуждать изменения. Лучше всего быть чётким и ясным в своей обратной связи. Пожалуйста, будьте терпеливы с людьми, которые могут не понимать более тонкие детали вашего подхода к обратной связи.

Копирование изменений из других проектов

Ryujinx использует некоторые реализации и фреймворки из других проектов. Для PR, включающих изменения из другого проекта, необходимо соблюдать следующие правила:

  • лицензия файла является разрешительной;
  • лицензия файла остаётся неизменной;
  • вклад правильно указан в файле 3rd party notices в репозитории, при необходимости.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/ryujinx-Ryujinx.git
git@api.gitlife.ru:oschina-mirror/ryujinx-Ryujinx.git
oschina-mirror
ryujinx-Ryujinx
ryujinx-Ryujinx
master