Workflow по Pull Request в ядро
Обсудили с @Septdir. Вырисовывается такой вариант:
- делается PR в наш форк репозиторий (fork) Joomla! CMS
- как только все вопросы улажены (оформлен текст PR, протестировано), то мерджим в отдельную ветку
- далее эту ветку проталкиваем как PR в основной репозиторий (upstream) Joomla! CMS, но уже с английским описанием https://help.github.com/articles/creating-a-pull-request-from-a-fork/
- если необходимо внести изменения, то они вносятся в ветку нашего форк репозитория Joomla! CMS
Начинаю тестировать!
Создание форка
Если у вас нет форка joomla/joomla-cms то можно сделать форк JoomlaRu/joomla-cms
Если у вас уже есть форк joomla/joomla-cms, то еще одни форк делать не нужно, да и не получиться.
Код PR
Все тоже самое что в Joomla можно прям с офф доки скопировать, но добавить строку
Не забудьте сделать новую ветку перед началом работы над PR
Создание самого PR
Схема так же. Самое важное выбрать правильную ветку для сравнения JoomlaRu/joomla-cms
Если форк делался с JoomlaRu/joomla-cms то она будет по умолчанию.
Иначе можно как я вчера отправить PR в Joomla

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

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

Создаем отдельную ветку для 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
Меняем ветку
После создания ветки меняем ветку в PR

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

Остаются тесты
Travis CI и appveyor то не проблема, я конечно не спец, но в крайнем случае настроить смогу. А вот drone лично я ни разу не настаивал. И Human тест нужен.
Может с кем нибудь из Joomla посоветоваться?
_Цель у нас благая, глядишь подсобят, если не делом то хоть советом и гайдами =)
Так, немного сумбурно, но в целом идея понятна. Нормально доку сделаем и будет гуд.
Я только вот что не понял - если необходимо внести изменения, то они вносятся в ветку нашего форк репозитория Joomla! CMS. Это точно будет работать?
Насчет сумбурно.
Согласен полностью. Пока это скорее не более чем заметки, причем вторая часть вообще касается только тех кто будет модерировать.
Так, что наверное надо будет 2 руководства сделать.
Насчёт изменений.
Тут все работает как со стандартными PR.
Если человек хочет что-то изменить, до того как мы его смерджири к себе в отдельную ветку, то делает это как обычно у себя в форке.
Если же он или кто либо еще хочет сделать изменении после того мы создали PR в оригинальный репозиторий то это делается через PR в созданную нами ветку.
Вот пример PR с PR внутри. https://github.com/joomla/joomla-cms/pull/20229
К тому же если исправления мелкие, ну типа пропущенного пробела или просто доработки, то мы можем и сами это сделать в ново созданной ветки которая связана с PR. Заодно и человеку подсобим,
Завтра попробую сделать чтобы сообщения об успешном тестировании можно было прямо из патч тестера отправлять.
Если получиться можно будет PR сделать чтобы эту функцию добавили, если сочтут нужной конечно. А пока плагин сделать.
P.S Если дело пойдет, то можно будет весь этот процесс с созданием веток и PR в оригинал автоматизировать. Вплоть до такого.
В админе нажал на одну копку:
Create Branch (сохраняем название исконной ветки в переменной) > Merge PR (в новую ветку) > Create PR(в Joomla/joomla-cms можно через трайслейт прогнать, потом поправить)
Насчет создания PR в Joomla не уверен но судя по доке можно*