Skip to content

Commit

Permalink
Merge pull request #484 from gber/branch-naming-fixes
Browse files Browse the repository at this point in the history
Clarify the conventions used by the CI system
  • Loading branch information
peat-psuwit committed Feb 2, 2022
2 parents 67a2037 + 64516cb commit 40344e7
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions about/process/branch-naming.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,14 @@ To make most efficient use of our CI system, a special naming convention for Git

For pre-installed Ubuntu Touch components, DEB-packages are used wherever possible. This includes Core apps, since they can still be independently updated using click-package downloads from the OpenStore. This policy allows making use of the powerful Debian build-system to resolve dependencies.

Every repository using this convention will have branches for the actively supported Ubuntu releases referenced by their codenames and prefixed with ``ubports/`` (``ubports/focal``, ``ubports/xenial``, etc.). These are the branches built directly into the corresponding images and published on ``repo.ubports.com`` for the stable release and :doc:`repo2.ubports.com <ppa>` for the current development version.
A Git repository following this convention usually has a ``main`` branch as well as branches corresponding to each release of Ubuntu Touch the package is part of. Development takes place in the ``main`` branch whereas the release specific branches are only used for stable release updates of the actively supported releases. The release specific branches are named after the codenames of the Ubuntu releases they are based on and are prefixed with ``ubports/`` (e.g. ``ubports/xenial``).

Usually there will be branches corresponding to each release of Ubuntu Touch which will be used for stable release updates whereas development takes place in the ``main`` branch. If no separate versions for the different Ubuntu bases are needed, the repository will have one ``main`` branch.
In the presence of release-specific branches the CI system will only build packages for the specific release a branch is associated with by name or the development version in case of the ``main`` branch. If e.g. a branch ``ubports/xenial`` exists and a commit is added to it, packages will only be built for Ubuntu Touch 16.04 but not any other release.
If only a ``main`` branch exists, packages will be built for all actively supported releases.
The CI system automatically builds packages for the aforementioned branches for different releases based on the following conventions:

- If a package is not part of a released version of Ubuntu Touch yet, only a ``main`` branch is needed. Packages will be built for the current in-development version as well as all supported stable releases. If the latter is not desired, branches containing only a README file should be created for those releases.
- If a package is part of a released version of Ubuntu Touch, the ``main`` branch will be built for the current in-development version as well as supported stable versions for which no release-specific branch exist. Release-specific branches will only be built for that release. If e.g. a branch ``ubports/xenial`` exists and a commit is added to it, packages will only be built for Ubuntu Touch 16.04 but not any other release.

Packages built from these branches are directly built into their respective images and also published in the package repositories on ``repo.ubports.com`` for the 16.04 release and ``repo2.ubports.com`` in case of the 20.04 release currently under development.

Branch Names and PPAs
^^^^^^^^^^^^^^^^^^^^^
Expand Down

0 comments on commit 40344e7

Please sign in to comment.