Конвенція назв для гілок/відокремлень¶
Наша конвенція забезпечує, щоби програмне забезпечення могло бути зібране нашим CI та його можна було легко протестувати іншими розробниками.
Файл README кожного репозиторію Git повинен містити інформацію про те, яка конвенція для гілок використовується та які є (будь-які) відхилення від норми.
Click-пакунки¶
Програмне забезпечення, яке розповсюджене виключно як click-пакунки (а не як DEB) використовує лише одну захищену гілку master. Окремі тимчасові відгалуження для розробки з довільними іменами також можна створювати та, коли настане час, об’єднувати їх у master. Ідеально було б для позначення та архівних етапів в історії розвитку використовувати теги Git або релізи GitHub.
Пакунки DEB¶
Щоб допомогти нам доставити наш код до Ubuntu Touch максимально без зусиль, наш CI автоматично, відповідно до назв гілок, вбудовує наші репозиторії Git у численні архіви APT, розміщені за адресою http://repo.ubports.com/.
В репозитаріях ми підтримуємо наступні гілки Git:
Гілки Git |
Опис |
Відповідні архіви APT |
|
|---|---|---|---|
Назва |
Дистрибутив-основа |
||
|
Являє собою останню розробку Ubuntu Touch. У цій гілці дозволені всі типи змін. |
|
Останній або майбутній випуск Ubuntu LTS. |
|
Тестування Debian. |
||
|
Представляє код у певній старшій версії. Він відгалужується з гілки |
|
Ubuntu LTS на момент розгалуження. |
|
Особливий випадок |
|
Ubuntu 20.04 LTS. |
|
Гілки, які використовують застарілу систему «розширення гілок» для перехресних змін. Більше не рекомендується використовувати. |
|
Ubuntu 20.04 LTS. |
|
Усі інші гілки можуть бути використані для запитів на злиття або для інших причин. Ці гілки не збираються CI доки не буде запиту на злиття. |
Н/Д доки не запитано злиття для згаданих гілок (див. нижче). |
|
Щоб переконатися, що у гілці main не забуті жодні зміни, всі зміни повинні бути внесені до гілки main перед поверненням до основних гілок випуску. Виняток — це коли зміна більше не стосується гілки main через інші зміни у цій гілці.
Примітка
Якщо наступна версія розробки ще не доступна для тестування, а Вам потрібні внести зміни для встановлення та тестування, дозволяється тимчасово орієнтуватися на зміну до основної гілки, щоб отримати пакети, побудовані для цієї версії. Коли набір змін готовий до злиття, набір змін повинен бути перенаправлений на гілку main.
Архіви APT для запитів на злиття¶
На додачу до згаданих вище архівів ми також створюємо архіви APT для запитів на злиття (MRs), зроблених для наших репозиторіїв Git. Це нам дозволяє перевіряти результат збирання на справжніх пристроях, використовуючи ubports-qa до об’єднання коду. Для кожного MR (Merge Request = запиту на злиття), система CI створить код для усіх однакових призначень, як запит на злиття до цільової гілки та до них буде додано _-_PR_<назва репозиторію>_<номер MR> [1]. Наприклад:
Запит на злиття (MR) з номером 100 створений для гілки
mainрепозиторію Gitlomiri(в той час, як поточна версія Ubuntu LTS —noble) буде мати архіви APT з назвамиdevel-noble_-_PR_lomiri_100таdevel-debian_-_PR_lomiri_100.Запит на злиття (MR) з номером 125 створений для гілки
ubports/24.6.xрепозиторію Gitmorph-browserзробить архів APT з назвою24.6.x_-_PR_morph-browser_125.