[CentOS-devel] De-branding in CentOS Stream 9

Sun Dec 5 12:18:24 UTC 2021
Aleksandra Fedorova <alpha at bookwar.info>

Hi,

On Sun, Dec 5, 2021 at 11:43 AM Phil Perry <pperry at elrepo.org> wrote:
>
> On 05/12/2021 01:27, Aleksandra Fedorova wrote:
> > ...
> > (skipped)
> > ...
> >
> > The confusion most likely comes from the misunderstanding, what does
> > branching event  represents for a RHEL point release.
> >
> > The branching of a RHEL point release from CentOS Stream happens at the
> > _end_ of the development cycle for that RHEL release, not at the start
> > of it.
> >
> > So development of RHEL 9 Beta started in April in CentOS Stream after
> > RHEL 9 Alpha branch was created. Then for some time development of Beta
> > (including mass rebuilds) happened in the CentOS Stream because they
> > were the same thing, until Beta got ready to be freezed. Then Beta was
> > branched and freezed while CentOS Stream became the RHEL 9.0.0 development.
> >
> > You can check also the diagram in
> >
> > https://blog.centos.org/2020/12/centos-stream-is-continuous-delivery/
> > <https://blog.centos.org/2020/12/centos-stream-is-continuous-delivery/>
> >
> > which shows the same concept but from a slightly different angle.
> >
>
> OK, so it's more a naming thing with the chagelog entries then. The
> rebuilds were not for RHEL 9 Beta as stated, as that did not exist at
> the time. The rebuilds were simply for CentOS Stream as part of the
> continuous development, which at some point in the future (Aug 2021)
> would be branched off to form the RHEL 9 Beta product. Perhaps under
> this new model the developers need to understand they are now developing
> for CentOS Stream as the upstream product, not RHEL (unless they are
> delivering updates to a RHEL point release branch)? Development happens
> in CentOS Stream, and RHEL is now the downstream rebuild of what is in
> CentOS Stream, right?

It a naming issue but it also the fact that RHEL builds of a next
minor release exist in parallel to CentOS Stream builds:
Every time we do a merge to the CentOS Stream 9 dist-git, we build two
packages out of it: the CentOS Stream 9 package and the RHEL 9.Y.0
package, where Y changes every half a year and represents the next
minor release which has not yet branched.

RHEL 9 Beta is 9.Y.0 with Y=-1. In Beta development cycle Beta build
appeared at the same time as the CentOS Stream build. Both builds
passed the joint QE gate and landed in Beta nightly and CentOS Stream
nightly respectively at the same time.

Thus from the RHEL developer point of view Beta was not created at
branching point as it was developed and built the whole time.
Branching only decoupled it from the CentOS Stream to allow the
freeze.

And even on the infra side branching of Beta doesn't mean creation of
Beta branch. Rather it creates new RHEL 9.0.0 branch, similarly how
branching of Fedora 35 creates f36 branch for Fedora Rawhide.

So while we do changes in CentOS Stream dist-git, we do them as a
development of a certain next minor release of RHEL.

It probably is going to be less visible in next minor releases though.
Once RHEL 9 Beta is released, there won't be any large actions like
mass-rebuilds anymore, and development becomes more focused on
individual bug fixes, which should have their dedicated changelog
entries.

-- 
Aleksandra Fedorova
bookwar on IRC