FreeBSD release engineering

FreeBSD development lifecycle overview​

1650943141887.png

FreeBSD development lifecycle​

1650943291281.png

– © 2021 Kubilay Kocak (koobs@) CC BY-NC-SA 4.0

Other visualisations​

Code:
----------------------------------------------------------------------------------------> -CURRENT
\__ 11.0-RELEASE -> p1 -> p2, etc     \__12.0-RELEASE    \__ 13.0-RELEASE
 \__ 11.1-RELEASE -> p1 -> p2, etc     \__ 12.1-RELASE    \
  \__ 11.2-RELEASE                      \__ 12.2-RELEASE   \
   \__ 11.3-RELEASE                      \                 13-STABLE
    \__ 11.4-RELEASE                      \
     \                                 12-STABLE
      \
   11-STABLE



1650943821883.png




Code:
          .      '      .
    .      .     :     .      .
     '.        ______       .'
       '  _.-"`      `"-._ '
        .'                '.
 `'--. /                    \ .--'`
      /                      \
     ;                        ;
- -- |                        | -- -
     |     _.                 |
     ;    /__`A   ,_          ;
 .-'  \   |= |;._.}{__       /  '-.  
    _.-""-|.' # '. `  `.-"{}<._      
          / 1938  \     \  x   `"  _________
     ----/         \_.-'|--X----  < RELEASE >
     -=_ |         |    |- X.  =_  ---------
    - __ |_________|_.-'|_X-X##           \   ^__^
    jgs `'-._|_|;:;_.-'` '::.  `"-         \  (oo)\_______
     .:;.      .:.   ::.     '::.             (__)\       )\/\
                                                  ||----w |
                                                  ||     ||

                                                  /|___
                                                ///|   ))
                                              /////|   )))
                                            ///////|    )))
                                          /////////|     )))
                                        ///////////|     ))))
                                      /////////////|     )))
                                     //////////////|    )))
                                   ////////////////|___)))
                                     ______________|________
                                     \       STABLE        /
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >
≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅≅  C           T  ≅≅≅≅ >
                                                 U       N
                                                   R R E
– sunny 1938 house by Joan G. Stark (jgs) from <https://www.asciiart.eu/nature/sun>
– boat from <https://www.asciiart.eu/vehicles/boats>
releng cow thanks to rank-amateur-cowsay
… FreeBSD 14.0-CURRENT is perfectly stable, in that it's extremely rare for me to require an inferior ZFS boot environment.

Re: the artwork above, I lay back and let the waters carry me. I'm ahead of the stable boat-goers, and no less contented than the cow on dry land.

It's a pleasantly fast-flowing current. The lifebelt of boot environments is worn at all times, so there's never a fear of being dragged below the surface. Simply hold my breath for a few seconds, then I'm up again, into the sunshine.
 

The unusually long release engineering period​

For a symptom that was reported during the second beta (freebsd-stable, mid-March), a bug report was made during the third release candidate (Bugzilla, four weeks later):
– with Bugzilla leading to fixes in three branches. Three days ago:


(Other things might have significantly extended the test period, but 263407 was most eye-catching. I don't read freebsd-stable. Maybe more people should do so.)


FreeBSD 13.1-RC5​

The update to RC5 was committed seven hours ago:

<https://cgit.freebsd.org/src/log/?h=releng/13.1>




FreeBSD 13.1-RELEASE Release Notes

Any significant omission?

I'm aware of at least one …​
 
I don't read freebsd-stable. Maybe more people should do so.
This is something I've advocated for years. In fact one can also sign up for the mailing lists and get them delivered right to your door (as it were).
The "QA" of any piece of software is often where time is cut because of "schedule". I'd rather them take a better time to fix things properly, as long as there is no feature creep.
 
And now FreeBsd 13.1 -RC-5 is up and running :). I also like the developers to make sure everything is working as expected rather than giving users a bad experience.
 
  • Like
Reactions: mer
-RC-5 is up and running :).

👍

… I also like the developers to make sure everything is working as expected …

A nice idea, however we can not expect developers to test everything. Use cases are too many, too varied.

Telling whether things work in isolation and in combination – whether a thing meets expectations – is largely (I'd say mostly) the responsibility of testers, many of whom are not developers.

Of the types of bug that might be unacceptable in -RELEASE: the majority are squashed in -CURRENT, which can be a pleasure to use (as can -STABLE).
 
A nice idea, however we can not expect developers to test everything. Use cases are too many, too varied.
A solution/work around for that is encourage users to try the release candidates if they can. It may not cover all the corner cases, but it can get coverage on "normal upgrade path on a variety of hardware". Maybe not as much on "fresh install" but it's all helpful.
 
Two ingredients:
  1. backups
  2. sane use of ZFS boot environments
– then:

encourage users to try the release candidates if they can.

– I'd encourage people to be much more involved. No fear of testing alpha or beta. No need to wait for a release candidate.
 
👍



A nice idea, however we can not expect developers to test everything. Use cases are too many, too varied.

Telling whether things work in isolation and in combination – whether a thing meets expectations – is largely (I'd say mostly) the responsibility of testers, many of whom are not developers.

Of the types of bug that might be unacceptable in -RELEASE: the majority are squashed in -CURRENT, which can be a pleasure to use (as can -STABLE).
This of course implies that it is the serious bugs that the release team is aware of, and want to fix. All software do contain bugs.
And yes, testing is important. In my case successful without any problems. And that is why I write here :). And I would report/ask for help if anything bad happened.
 

To allow focus, I created a separate topic for this:

 
how nice, we get an additional RC6 which will be released tomorrow, RELEASE will be postponed by 1 week. and btw: any news on the wireguard inclusion in 13.1 or is it planned for 14?
 
On closer inspection, there are at least two significant omissions from the current draft.

  • release note suggested 2022-04-15
  • review created in Phabricator 2022-05-15 …
 
Just a stupid question, do I have to upgrade the bootloader after upgrading Freebsd 13.0 => 13.1 or it's automatic?
 

– cherry-picked to this, in stable/13 and releng/13.1:


suntzu00 I suggested a release note in March <https://github.com/freebsd/freebsd-doc/pull/58#discussion_r817904540>, now may be too late for inclusion.
 
Back
Top