Skip to content

About milestones, branch policies and the release cycle

Pablo Saavedra Rodiño edited this page Dec 10, 2024 · 11 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 next-stable is created immediately a new layer codename is available in the Yocto Poky master branch

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-03-28
202404_5.0_scarthgap_final scarthgap 2024-10?
202410_5.1_styhead main 2024-10?
202410_5.1_styhead_final styhead 2025-04?
202411_5.2_walnascar main 2025-04
202411_5.2_walnascar_final walnascar 2025-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 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 available in Poky (master branch)
  2. Create a new Pull Request from the main branch to work in the required adaptations in layer to make it work with the next-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 workflows, the CI manifests and the current release sync mirror task even others files).
  6. Once the Pull Request passes the CI tasks:
    1. Integrate the Pull Request in main (fast-forward-merge)
    2. Close the current milestones associated to the branches in EOL

Maintenance Policy

  • Active maintenance will be provided for branches that are still alive within the Yocto Project (Yocto Project Releases).
  • Updates to WebKit recipes will be prioritized in the branch associated with the next stable version, which is generally synchronized with the main branch of the repository.
  • Maintenance patches are accepted for all branches associated with a Yocto release that is active at that time.
  • Efforts will be made to keep WebKit recipes updated for previously active branches as much as possible.
  • Maintenance of LTS branches will be prioritized.