Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workflow по Pull Request в ядро #7

Open
b2z opened this issue Oct 29, 2018 · 8 comments
Open

Workflow по Pull Request в ядро #7

b2z opened this issue Oct 29, 2018 · 8 comments
Labels
RFC Требуются отзывы и комментарии по вопросу требование Необходимое требование или фича

Comments

@b2z
Copy link
Member

b2z commented Oct 29, 2018

Обсудили с @Septdir. Вырисовывается такой вариант:

  • делается PR в наш форк репозиторий (fork) Joomla! CMS
  • как только все вопросы улажены (оформлен текст PR, протестировано), то мерджим в отдельную ветку
  • далее эту ветку проталкиваем как PR в основной репозиторий (upstream) Joomla! CMS, но уже с английским описанием
    https://help.github.com/articles/creating-a-pull-request-from-a-fork/
  • если необходимо внести изменения, то они вносятся в ветку нашего форк репозитория Joomla! CMS
@Septdir
Copy link
Member

Septdir commented Oct 29, 2018

Начинаю тестировать!

Создание форка

Если у вас нет форка joomla/joomla-cms то можно сделать форк JoomlaRu/joomla-cms
Если у вас уже есть форк joomla/joomla-cms, то еще одни форк делать не нужно, да и не получиться.

@Septdir
Copy link
Member

Septdir commented Oct 29, 2018

Код PR

Все тоже самое что в Joomla можно прям с офф доки скопировать, но добавить строку
Не забудьте сделать новую ветку перед началом работы над PR

Создание самого PR

Схема так же. Самое важное выбрать правильную ветку для сравнения JoomlaRu/joomla-cms
Если форк делался с JoomlaRu/joomla-cms то она будет по умолчанию.
Иначе можно как я вчера отправить PR в Joomla

pr-1
pr-2

@Septdir
Copy link
Member

Septdir commented Oct 29, 2018

Блокируем ветки!

Самое главное заблокировать ветки
Если ветка не заблокирована то PR можно будет мерждить в ветку staging А нам этого не нужно.
pr-m-1

Поэтому блокируем ветку.
Уже давно искал как просто полностью заблокировать merge в ветку, но не нашел. Поэтому вот такой вариант.
pr-m-2
И получаем вот такую блокировку
pr-m-3

@Septdir
Copy link
Member

Septdir commented Oct 29, 2018

Создаем отдельную ветку для PR

Создаем новую ветку. С staging все просто. А вот если надо с другой ветки то тут либо через локальную репу + команду

git checkout -b {NEW_branch_name} {SOURCE_branch_name}
git push origin {NEW_branch_name}

Либо через Github Desktop

Либо поменять в настройках ветку по умолчанию и тогда можно будет сделать прямо на github.

Именовать предлагаю по номеру pr к примеру path-23, где 23 id PR

@Septdir
Copy link
Member

Septdir commented Oct 29, 2018

Меняем ветку

После создания ветки меняем ветку в PR
pr-m-4

И и тогда PR можно мерджить.

pr-m-5

@Septdir
Copy link
Member

Septdir commented Oct 29, 2018

Остаются тесты
Travis CI и appveyor то не проблема, я конечно не спец, но в крайнем случае настроить смогу. А вот drone лично я ни разу не настаивал. И Human тест нужен.

Может с кем нибудь из Joomla посоветоваться?
_Цель у нас благая, глядишь подсобят, если не делом то хоть советом и гайдами =)

@b2z
Copy link
Member Author

b2z commented Oct 29, 2018

Так, немного сумбурно, но в целом идея понятна. Нормально доку сделаем и будет гуд.

Я только вот что не понял - если необходимо внести изменения, то они вносятся в ветку нашего форк репозитория Joomla! CMS. Это точно будет работать?

@Septdir
Copy link
Member

Septdir commented Oct 29, 2018

Насчет сумбурно.

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

Так, что наверное надо будет 2 руководства сделать.

Насчёт изменений.

Тут все работает как со стандартными PR.

Если человек хочет что-то изменить, до того как мы его смерджири к себе в отдельную ветку, то делает это как обычно у себя в форке.

Если же он или кто либо еще хочет сделать изменении после того мы создали PR в оригинальный репозиторий то это делается через PR в созданную нами ветку.

Вот пример PR с PR внутри.
joomla/joomla-cms#20229

К тому же если исправления мелкие, ну типа пропущенного пробела или просто доработки, то мы можем и сами это сделать в ново созданной ветки которая связана с PR. Заодно и человеку подсобим,


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

Если получиться можно будет PR сделать чтобы эту функцию добавили, если сочтут нужной конечно. А пока плагин сделать.


P.S Если дело пойдет, то можно будет весь этот процесс с созданием веток и PR в оригинал автоматизировать. Вплоть до такого.

В админе нажал на одну копку:
Create Branch (сохраняем название исконной ветки в переменной) > Merge PR (в новую ветку) > Create PR(в Joomla/joomla-cms можно через трайслейт прогнать, потом поправить)
Насчет создания PR в Joomla не уверен но судя по доке можно*

@Septdir Septdir added the RFC Требуются отзывы и комментарии по вопросу label Nov 27, 2018
@b2z b2z added the требование Необходимое требование или фича label Dec 3, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RFC Требуются отзывы и комментарии по вопросу требование Необходимое требование или фича
Projects
None yet
Development

No branches or pull requests

2 participants