Skip to content

About milestones, branch policies and the release cycle

Pablo Saavedra Rodiño edited this page Jan 25, 2024 · 7 revisions

About milestones, branch policies and the release cycle

The Yocto Project does two releases per year (usually April and October).

The meta-webkit layer tries to keep aligned the development cycle with the Yocto Project.

Some considerations to have in mind regarding how this layer is aligned with the Yocto Release:

  • main is always compatible with the current stable Yocto release
  • a branch for the old-stable is created immediately a new release is released

Milestones:

Schema: <Year&Month yocto release date>_<yocto release number>_<yocto release name>[_final][_r<number of iteration>]

Milestone Branch Date
202004_3.1_dunfell_final dunfell 2021-01-04
202010_3.2_gatesgarth main 2021-01-04
202010_3.2_gatesgarth_final gatesgarth 2021-03-30
202104_3.3_hardknott main 2021-03-30
202104_3.3_hardknott_final hardknott 2021-10-27
202110_3.4_honister main 2021-10-27
202110_3.4_honister_final honister 2022-12
202204_4.0_kirkstone main 2022-06
202204_4.0_kirkstone_final kirkstone 2022-12
202210_4.1_langdale main 2024-01
202210_4.1_langdale_final langdale 2024-01
202304_4.2_mickledore main 2024-01
202304_4.2_mickledore_final mickledore skip
202311_4.3_nanbield main 2024-01
202311_4.3_nanbield_final nanbield 2024-04?
202404_5.0_scarthgap main 2024-04?
202404_5.0_scarthgap_final langdale 2024-10?

Branches and branch policies

  • main: The default branch
  • main-next (temporary/rebased from main): Temporarily created to adapt main to the new Yocto stable release. This branch can be rebased against main by the maintainers. The life-cycle of this branch it is bounded to the Release Process.
  • develop/feature/change branch: Temporary branches when relevant changes can be integrated. This branch can be rebased against main by the maintainers.
  • release branches (hardknott, honister, ...):Branches associated to an old-stable Yocto release. These branches are the result of the Release process

Example histogram

Yocto      (202010_3.2_gatesgarth)                                                             (202104_3.3_hardknott)
                   |                                                                                   |
        ----------(R)---------------------------------------------------------------------------------(R)-----------------           


                                               develop/feature/change (B) ----------(S)
                                                                       |             |
                                            (202010_3.2_gatesgarth)    |             |                                          (202104_3.3_hardknott)
                                                    |                  |             |                                                  |
        main-next (B) -----------------------------(M)                 |             |      main-next (B) -----------------------------(M)
                   |                                |                  |             |                 |                                |
                   |                                |                  |             |                 |                                |
main    ---------------------------------------(M)(FFM)----------------------------(FFM)-------------------------------------------(M)(FFM)-------------->                 
                                                |                                                                                    |
                                                |                                                                                    |
                                       dunfell (B)------------------------------------------------------------------------------x    |
                                                |                                                                                    |
                                               (202010_3.1_dunfell_final)                                                            |
                                                                                                                         hardknott  (B)--------------------------------->
                                                                                                                                     |
                                                                                                                                     (202010_3.2_gatesgarth_final)


  • (B): Branch
  • (M): Milestone
  • (S): Stable
  • (FFM): Fast-Forward-Merge

Release Process

List of task to do during a release:

  1. The Release Process starts once the new Yocto release is released
  2. Create a new Pull Request from the main branch to work in the required adaptations in layer to make it work with the new stable release
  3. Create new milestone using this schema: <Year&Month yocto release date>_<yocto release number>_<yocto release name>
  4. In the Pull Request, add the compatibility mark is added in the conf/layer.conf
    1. We will try to keep the compatibility and the support in master/main for the latest 4 releases OR 2 the latest LTS releases
    2. Other releases not matching with this criteria will be removed from the LAYERSERIES_COMPAT variable.
  5. In the Pull Request, update the Yocto release name references with the new release name (this includes the CI files)
  6. Once the Pull Request passes the CI tasks:
    1. Create a new branch from the main branch and named as the old-stable branch name
    2. Integrate the Pull Request in main (fast-forward-merge)
    3. Close the current milestone associated to the old-stable branch (the name should include the name of the already old-stable Yocto Release)