From nobody Sat Feb 24 04:32:52 2024 X-Original-To: current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ThYs33PNkz5ByHD for ; Sat, 24 Feb 2024 04:32:55 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ThYs30y8Qz4qQk for ; Sat, 24 Feb 2024 04:32:55 +0000 (UTC) (envelope-from glebius@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708749175; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=//ZTCv/cRPaV3ckPrXbzeHRHON7Up0goJjlZSOnuGuA=; b=WOlvzKTTOP6SYOR6EzBZ5npDm+B0AbcbEYPUFu7Vlfu0qN1ffwOkYD8XIAmxCkYQWJLG8V OEZQIzPRwJADyETR+fEtIGpVIs52Q4FVUcDfrNr9aA9T579jnHiQCtpxsgEIQmut5YZDR4 39CogGvd2+f2cH6w8ffKtFFkpox4rxG8oQwBQMTLU5OxTcCHFIJ6RY8nMJNrr3mBHWxQez TZZQuZnvj5w1qSm+MrWKSQPDVLBEFDQcqvg5RG9k+tAzpnFfMVG/srbe1qecL5heXmBOaN ZKVfq2uZq7I9fb1U3Epn2k5xcfgmdH3B2i9f066F0FjtUg3Qk50pG70LXX6knw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1708749175; a=rsa-sha256; cv=none; b=UqeYjye89ErOyYUBrvyZPgZvtaTxG+tnK62x93cg5Bn2UPGShNWf4HfYO2sB3g0XWEdddh HRmzBZ5f192GiQee/XnxqUBUHyLPVPoj8FXI5bC5PnTIedTDAvKrVAslFqV2sxI4u5rRz/ oIyFuCynjboWRLByHragOxj/CV81rlOGY9J47oS47O+P5RA7JfrgHA2KTueTXx8k0twqNj k8G9cSUyQlXs1Rv/kc+Y2FBEgLvFDzGa+tNklt25VPp1LlurOA2ThOCNORZY+oeTdTNVMU Qb/A5VD0iXU+4kRQ+bUgOLdFsalt3VIf+FeUB+HFpjBKMVudqvJri+NkuwNDrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1708749175; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=//ZTCv/cRPaV3ckPrXbzeHRHON7Up0goJjlZSOnuGuA=; b=V3LnuQxz/RwM2pQO7SmJ9CsYAYOBeRltYStHMdFGIXACSkgctzi/VrG/0QV861p/hy9Zxg e8t+R63ICEf2AUMV6NwQY5d9mrIu/vUSiNxq2K0DzUwDLNQ62BcKBqdtO3C8LjsVwkkb85 eUFTXwt5MaPqqtmbBbM7y0tVFWvq/v3DJEqdgrbwU5NyHbIpgavYZNIs/gubxRUNvQFBY5 R3tFhJ25jrpjUW7yPdkE7CwjYg4Sl1ud/ejM8v5B2LbaVDKphNN5e+Tv1WQaNAfogC3m2l riXMhpp9NLEJkrwuDTySa1FwU1q+laA1asA+b9EbDbL0fkemKmiDFEpK+Yrs2A== Received: from cell.glebi.us (glebi.us [162.251.186.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: glebius) by smtp.freebsd.org (Postfix) with ESMTPSA id 4ThYs253f9z1Fk1 for ; Sat, 24 Feb 2024 04:32:54 +0000 (UTC) (envelope-from glebius@freebsd.org) Date: Fri, 23 Feb 2024 20:32:52 -0800 From: Gleb Smirnoff To: current@freebsd.org Subject: FreeBSD CURRENT stabilization cycle Message-ID: List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="yi98UK49aTSrHFlQ" Content-Disposition: inline --yi98UK49aTSrHFlQ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi FreeBSD CURRENT users, back in November I came up with a proposal of providing some stabilization cadence to development of the main branch, also known as FreeBSD CURRENT. = Here is a video with the initial proposal and following discussion at VendorBSD Conference (18 minutes): https://www.youtube.com/live/k-AzShVdAHo?si=3DhPAhCd_-RuoTRqcW&t=3D2511 And here goes an up to date version of the plan! In the last decade quality of FreeBSD CURRENT improved so much, that not on= ly brave developers run it on their laptops, but also large companies use it. = Time to bring it to a new level. Every individual or a business that use CURRENT has their own protocol of how to stay up date and avoid disasters. An individual will first update their desktop and only after that will update server(s). A company would run their internal regression test suite or some other validation protocol. Right now we all do that independently from each other having little coordination and providing little help each other. We = also do not broadcast to the world that FreeBSD CURRENT is usable. I've seen a l= ot of people who stay away from CURRENT based on their 20-year old experience = with it. Here is how we are going to improve: * Last week of a month is declared a stabilization week Src committers are encouraged to avoid pushing risky changes to FreeBSD/main during this week. This is an advice, not a policy! If a committer breaks something during the week they got 3x public shame, but no administrative penalties or fines. Committers are encouraged to push bug fixes, improve u= nit tests, clean up comments and improve documentation. It is a also a good ti= me to do merging of past work to stable branches. Developers of course will continue their work on bigger projects in their private branches. Sidenote: there is no agreement in the world what is "the last week of a month". For our purposes we will use the week that contains the last Frida= y of the month. Because we want the monthly snapshot to be called by the name of the month (not next month) and thus we want the last day of the stabilizati= on cycle always to be in that month. * Monday of the stabweek is the day to update your CURRENT and test it Monday 8:00 GMT a tag is created and published. Right now it is published at my personal https://github.com/glebius/FreeBSD/tags. Note that the tag points at a hash in the official repo, so there is no trust involved here. At Netflix I will be working on merging the tagged revision into our tree a= nd I will hand off the resulting branch to our excellent testing team (dhw@ + olivier@) usually by the end of Monday (PST time). Other companies and par= ties are encouraged to start testing the tagged revision. Peter Holm may switch= his stress2 to run that revision. You are encouraged to update your desktop or laptop that of course runs FreeBSD CURRENT. * A short lived stabilization branch may be created In case we discover regressions compared to the previous month stabweek, bug fixes to them will be committed to a short lived branch. This branch may contain direct cherry-picks from main, as well as work-in-progress bugfixes that had not yet been committed to main, reverts of commits and even stop g= aps that disable certain functionality for the sake of stability. This branch = may be rebased and force pushed if a temporary bugfix appears different to a fi= nal one in main. The branch may observe commits immediately Monday morning in = case we already know about a certain regression. The branch will not observe commits to a long standing bugs that were fixed in main during the stabweek, unless somebody explicitly asks to include one. And finally, the branch may not even be created in case testing confirms everything is alright with the Monday tag. The branch will be published at https://github.com/glebius/FreeBSD. There = is certain level of trust required to use it. That may change to a more offici= al publishing point in the future. * The stabweek quiet period ends no later than Friday 18:00 GMT No matter if we were able to identify and fix any or all bugs the quiet per= iod ends. The public shame level for src committers breaking FreeBSD CURRENT g= oes back to normal level. In a case we were not able to address all issues by = end of Friday the stabweek branch will be active past the end of the stabweek, = as we want to collect all regression fixes in the branch. But this is the wor= st case scenario! A more appreciated scenario is that the stabilization period ends earlier in the week. If all testing parties report their satisfaction with state of ma= in as is or of the stabweek branch and if I don't see any fresh bug reports in bugzilla or submissions via other channels, there is no reason to withheld committers with pushing their stuff. At the end of the stabilization period be it Friday or earlier I will write email to current@ reporting the results: - were there any regression identified with the Monday tag - what has been accumulated in the stabweek branch - known stable point(s) of FreeBSD/main during the period, recommended for = use The free riders who did not participate in the testing are now welcome to update their machines to published stable points :) More seriously speaking= , I actually hope that in some future snapshots.FreeBSD.org will start using th= ese points for snapshot generation. P.S. The February 2024 stabilization week was run internally, without shari= ng publicly and in a few minutes I will post its results in a separate email. --=20 Gleb Smirnoff --yi98UK49aTSrHFlQ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQT+rgtjiRzq3LbQ3Nn+/1jAXQXMIgUCZdlxWQAKCRD+/1jAXQXM IihGAP9qibjJbSuoDLi3JoWvywkBVLo943Rbsb4wegXXokuW3gD/SkiG6lF/TZoB 3RcMTHj2H167J5IKs1gkFk5ZrgnMeQY= =bqUD -----END PGP SIGNATURE----- --yi98UK49aTSrHFlQ--