Перейти к основному содержанию
`Ctrl`+`K`

# Выпуск тегов ядерных модулей

## Расписание

Каждый понедельник после 16:00 по МСК.

## Подготовка

Напишите в чат `Kernel Bitec Perm` время выпуска, чтобы мейнтейнеры не принимали MR.

## Процедура выпуска

1. Актуализируйте ветки. Для каждого модуля (`gtk` и `btk`) выполните:

    cd <module>
    git switch main && git fetch && git pull
    git switch release-candidate && git fetch && git pull
    git switch release && git fetch && git pull

2. Проверьте, что проект собирается на всех ветках: `main`, `release-candidate`, `release`.

3. Выполните слияние актуализированных веток `release-candidate` в `release`:

    git switch release
    git merge --no-ff release-candidate

Если возникли конфликты слияния, разрешите их вручную. См. 4. Опубликуйте изменения. Проверьте сборку в релизных ветках и отправьте изменения в release. Проверьте сборку на релизных ветках и запушьте изменения, затем актуализируйте ветку `release-candidate`:

    git switch main

    git branch -d release-candidate
    git push origin --delete release-candidate

    git switch -c release-candidate
    git push -u origin release-candidate

После слияния `rc` в `release` для каждого модуля, необходимо проверить сборку. Если проект собирается, можно пушить изменения в `release`.

После пуша, необходимо актуализировать ветку `release-candidate`, для этого надо её удалить и создать заново от `main`:

    git switch main

    git branch -d release-candidate
    git push origin --delete release-candidate

    git switch -c release-candidate
    git push -u origin release-candidate

После актуализации кода необходимо выпустить минорные версии модулей (именно минорные) через `gsf-cli` или `IDEA`.

## Завершение выпуска

Сообщить в чат `Kernel Bitec Perm`, что выпуск завершён и укажите новые версии модулей.

После чего актуализируйте в саппорте фактические релизы по документации.