Skip to content

Commit

Permalink
More info on checks, rebase-and-check (ydb-platform#1939)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexv-smirnov authored Feb 19, 2024
1 parent a04d89b commit 64f9b6a
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 12 deletions.
17 changes: 12 additions & 5 deletions ydb/docs/en/core/development/suggest-change.md
Original file line number Diff line number Diff line change
Expand Up @@ -229,11 +229,17 @@ When the changes are completed and locally tested (see [Ya Build and Test](build

### Precommit checks {#precommit_checks}

Prior to merging, the precommit checks are run for the Pull Request. You can see its status on the Pull Request page.
Prior to merging, the precommit checks are run for the Pull Request.

As part of the precommit checks, the YDB CI builds artifacts and runs all the tests, providing the results as a comment to the Pull Request.
For changes in the {{ ydb-short-name }} code, precommit checks build {{ ydb-short-name }} artifacts, and run tests as described in `ya.make` files. Build and test run on a specific commit which merges your changes to the current `main` branch. If there are merge conflicts, build/test checks cannot be run, and you need to rebase your changes as described [below](#rebase).

If you are not a member of the YDB team, build/test checks do not run until a team member reviews your changes and approves the PR for tests by assigning a label 'Ok-to-test'.
You can see the checks status on the Pull Request page. Also, key information for {{ ydb-short-name }} build/test checks progress and status is published to the comments of the Pull Ruquest.

If you are not a member of the YDB team, build/test checks do not run until a team member reviews your changes and approves the PR for tests by assigning a label `ok-to-test`.

Checks are restarted every time you push changes to the pull request, cancelling the previous run if it's still in progress. Each iteration of checks produces its own comment on the pull request page, so you can see the history of checks.

If you are a member of the YDB team, you can also restart checks on a new merge commit without pushing. To do so, add label `rebase-and-check` to the PR.

### Test results {#test-results}

Expand Down Expand Up @@ -280,8 +286,9 @@ git push fork
```

And then create a PR from your branch with the cherry-picked fix to the stable branch. It is done similarly to opening a PR to `main`, but make sure to double-check the target branch.
If you are using GitHub CLI, pass `-B` argument:

If you are using GitHub CLI, pass `-B` argument to specify the target branch:

```
gh pr create --title "Title" -B stable-24-1
gh pr create --title "Title" -B stable-24-1
```
21 changes: 14 additions & 7 deletions ydb/docs/ru/core/development/suggest-change.md
Original file line number Diff line number Diff line change
Expand Up @@ -229,11 +229,17 @@ git push

### Предварительные проверки {#precommit_checks}

Перед мержем изменений выполняются прекоммитные проверки Pull Request'а. Вы можете увидеть их статус на странице Pull Request'а.
Перед мержем изменений выполняются прекоммитные проверки Pull Request'а.

В рамках прекоммитных проверок YDB CI создает артефакты и запускает все тесты, публикуя результаты в качестве комментария к Pull Request'у.
Для изменений в коде YDB прекоммитные проверки собирают артефакты, и запускают описанные в файлах `ya.make` тесты. Сборка/тесты выполняются на специальном merge коммите, который мержит ваши изменения с текущей веткой `main`.

Если вы не являетесь членом команды YDB, проверки не будут запущены до тех пор, пока член команды не рассмотрит ваши изменения и не одобрит PR для тестов, присвоив метку "Ok-to-test".
Вы можете увидеть статус проверок на странице Pull Request'а. Также, ключевая информация о ходе сборки/тестов YDB и текущий статус публикуются в комментариях к PR.

Если вы не являетесь членом команды YDB, проверки не будут запущены до тех пор, пока член команды не рассмотрит ваши изменения, и не одобрит PR для тестов, присвоив метку `ok-to-test`.

Проверки перезапускаются каждый раз, когда пушатся новые изменения, предыдущая проверка прерывается, если она еще не завершена. Каждая итерация проверок создает собственный комментарий на странице PR, поэтому там сохраняется история проверок.

Участники команды разработки YDB могут рестартовать проверки на новом merge коммите без пуша изменений. Для этого необходимо добавить к PR метку `rebase-and-check`.

### Результаты тестирования {#test-results}

Expand All @@ -247,7 +253,7 @@ git push

### Review и merge {#review}

Pull Request может быть замержен после получения Approve от члена команды YDB. Для коммуникации используются комментарии. После подтверждения член команды YDB нажимает на кнопку "Merge".
Pull Request может быть замержен после получения Approve от члена команды YDB. Для коммуникации используются комментарии. После подтверждения участник команды YDB нажимает на кнопку "Merge".

### Обновление изменения {#update}

Expand Down Expand Up @@ -279,9 +285,10 @@ git cherry-pick {fixes_commit_hash}
git push fork
```

И создайте Pull Request из вашей ветки с патчем в стабильную ветку. Это делается аналогично открытию PR в ветку `main`, но обязательно проверьте целевую ветку.
Если вы используете GitHub CLI, передайте аргумент `-B`:
И создайте Pull Request из вашей ветки с патчем в стабильную ветку. Это делается аналогично открытию PR в ветку `main`, но необходимо убедиться что в качестве target выбрана нужная стабильная ветка.

Если вы используете GitHub CLI, target ветка указывается в опции `-B`:

```
gh pr create --title "Title" -B stable-24-1
gh pr create --title "Title" -B stable-24-1
```

0 comments on commit 64f9b6a

Please sign in to comment.