- Задачи создаются в колонке ToDo в проекте для каждого участника.
- Описание задачи должно быть максимально полным и понятным для понимания.
- Если задача является продолжением другой, то в описании к ней должна быть ссылка на предыдущую.
- Выбраем задачу в колонке ToDo. Поиск новых задач необходимо начинать сверху списка.
- Перенести задачу в колонку In progress.
- Перед созданием ветки для задачи необходимо залить последнюю версию upstream репозитория. Ссылка, как сделать.
- В своем репозитории необходимо создать ветку для задачи. Формат названия ветки "task number"-"feature name". Пример: 123-important-feature.
- Приступить к работе над задачей.
-
Во время работы необходимо придерживаться Java Code Convention.
-
Сообщения в коммитах должны быть в формате #123: commit message.
-
На задачу должны быть обязательно написаны тесты:
- 100% покрытие unit тестами.
- Все критические моменты покрываем integration тестами.
- Все эндпоинты покрываем acceptance тестами и по возможности integration тестами.
-
После того, как работа закончена, необходимо залить ветку с задачей в свой fork-репозиторий на github и сделать pull request в upstream репозиторий в ветку, в которой ведется разработка проекта.
- Имя pull request должно быть в формате #123 important feature.
- Pull request должен быть связан с задачей, это делается добавлением строки connect to #123 в поле с описанием.
- После создания pull request, Travis CI автоматически запустит сборку проекта. Необходимо проверить, чтобы она прошла удачно. Если сборка не пройдет, необходимо изучить log travis и устранить ошибки. Увидеть, как прошла сборка, можно в github, если открыть pull request. Лог сборки можно посмотреть, кликнув на Details.
-
После этого необходимо перенести задачу в колонку Verify.
-
Для того, чтобы задача была добавлена в ветку разработки команды, необходимо наличие 4 approve in code review (это значение может меняться в зависимости от проекта и договоренностей в команде).
- Попросить коллег про помощь в общем чате команды.
- Если для решения данной задачи нужно решение другой задачи, необходимо в исходном коде оставить комментарий //TODO или @todo c описанием того, что надо сделать и ссылкой на задачу, которая нужна. Если такой задачи нет, ее необходимо добавить в ToDo проекта.
(в процессе работы над задачей необходим функционал, которого еще нет и нет возможности это легко обойти)
- Добавить комментарий к своей задаче blocked with #123. Если эту задачу уже кто-то делает, необходимо связаться с ним и договориться о дальнейших шагах.
- Если решение блокирующей задачи затягивается, текущую необходимо вернуть в колонку ToDo и вернуться к пункту 2.
- Делать code review должен каждый участник команды.
- К code review допускаются только задачи, для которых Travis успешно выполнил прогон тестов.
- Ревьювер должен придерживаться следующих правил:
- В начале ревью необходимо начать этот процесс на github. Более подробно в документации.
- Если замечаний нет, то завершить процесс review с отметкой Approved.
- Если есть комментарии, оставить их, используя Comment.
- Если есть существенные замечания, которые должны быть устранены до merge, необходимо оставить Request changes.
- Статусы Comment и Request changes - не разрешают сделать merge pull request, пока не будет реакции владельца pull request и не будет выставлен статус Approved.
- После того, как условие по количеству ревью выполнено, владелец pull request должен уведомить team lead или человека у которого есть права на merge, провести финальное ревью и сделать merge в ветку разработки.
- После успешного принятия изменений задача передвигается в колонку Done и ответственный за нее разработчик переходит к пункту 2.
- Если в процессе ревью необходимы существенные доработки, задача возвращается в колонку In progress и разработчик переходит к пункту 3. Закрывать при этом pull request не нужно. Все изменения, которые будут попадать в ветку, с которой он был сделан, автоматически будут подтягиваться в pull request.
- Если условие задачи непонятно, необходимо запросить дополнительные сведения.
- Если задача слишком объемная, необходимо обсудить с team lead пути, как разбить ее на несколько, и сделать эту операцию, используя пункт 1. После этого необходимо выбрать новую задачу, используя пункт 2.
- Добавлять изменения без кодревью в основную ветку проекта запрещается.
- Create a branch from the repository.
- Create, edit, rename, move, or delete files.
- Send a pull request from your branch with your proposed changes to kick off a discussion.
- Make changes on your branch as needed. Your pull request will update automatically.
- Merge the pull request once the branch is ready to be merged.
- Tidy up your branches using the delete button in the pull request or on the branches page.