[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] docs: Rewrite the Tagging and Branching checklist


  • To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Thu, 13 Nov 2025 13:44:33 +0100
  • Autocrypt: addr=jbeulich@xxxxxxxx; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL
  • Cc: Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 13 Nov 2025 12:44:45 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 13.11.2025 13:28, Andrew Cooper wrote:
> On 13/11/2025 7:54 am, Jan Beulich wrote:
>> On 12.11.2025 19:54, Andrew Cooper wrote:
>>> There's a lot of stale information in the current checklists.  Merge the
>>> documents and present the information in chronological order.  Provide real
>>> examples from the tree rather than trying to be too prescriptive.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
>> Hardly anything is being said about stable releases - is this intentional?
> 
> Is there anything you think I'm missing?

Well, ...

> I suppose the releasing section is slightly specific to new releases,
> but for the stable release, it really is just bump extraversion, commit
> and tag, and where usually tag is the only action after you've prepared
> the tree.

... this distinction isn't made clear (enough) for my taste. And while I agree
with "usually", there are the rare cases where qemu and/or minios tags would
still need making and propagating (the latter normally being done by me rather
than the release engineer).

>>> +Branching
>>> +=========
>>> +
>>> +On xenbits:
>>> +
>>> + * Create new staging and stable branches in xen.git.
>>> +
>>> + * Add the new branches to patchbot.  In ``~xen/HG/patchbot`` copy the 
>>> exsting
>>> +   master and staging reported heads, update the ``versions`` file, and 
>>> commit
>>> +   the result.
>>> +
>>> + * Add the new stable branch to the docs cronjob.  In ``~xendocs/cronjobs``
>>> +   edit ``xenbits-docs-all.sh`` and commit the result.  e.g.:
>>> +
>>> +::
>>> +
>>> +  ssh xenbits.xen.org
>>> +
>>> +  cd ~xen/git/xen.git
>>> +  git branch staging-$v staging
>>> +  git branch stable-$v master
>>> +
>>> +  cd ~xen/HG/patchbot
>>> +  cp xen--master.patchbot-reported-heads 
>>> xen--stable-$v.patchbot-reported-heads
>>> +  cp xen--staging.patchbot-reported-heads 
>>> xen--staging-$v.patchbot-reported-heads
>>> +  $EDITOR versions
>>> +  git commit -am "Branch for $v"
>>> +
>>> +  cd ~xendocs/cronjobs
>>> +  $EDITOR xenbits-docs-all.sh
>>> +  git commit -am "Branch for $v"
>>> +
>>> +
>>> +On the new branch:
>>> +
>>> + * Switch to release builds by default.  Commit.
>>> +
>>> +On staging:
>>> +
>>> + * Update ``XEN_SUBVERSION`` to the next version.  Update
>>> +   ``XEN_EXTRAVERSION``, ``README`` and ``SUPPORT.md`` back to 
>>> ``-unstable``.
>>> +   Commit.  Tag the start of the new development window.
>>> +
>>> + * Rerun ``./autogen.sh`` to refresh the configure scripts.  Commit.
>>> +
>>> + * Switch ``QEMU_UPSTREAM_REVISION`` back to ``master``.  Commit.
>>> +
>>> + * Create a new section in ``CHANGELOG.md``.  Commit.
>> Should this really be four separate commits?
> 
> It is and has been for a while.

In practice maybe, but not as per the original doc?

> Folding autogen into the version update might be sensible.  Everywhere
> else needing an autogen does so in the same patch.
> 
> But, I don't see it being sensible to fold the remaining thee patches.

Why not? It's all part of the branching operation.

> This also begs the question of how we indicate a planned change from the
> example given.  Maybe "Note, example is from prior to deciding to $X",
> which gets removed when the example gets updated?
> 
> If we're going to do that, I'd want to make it a separate change to the
> main rewrite.

As far as changing what was written down so far goes, I'd certainly agree.
But as per the original branching-checklist.txt it's not spelled out either
way, so describing it one way or the other can be seen as part of the
re-write.

>>> +e.g. from Xen 4.21, ``d510f9c1430c^..62d0a92057ca`` and 
>>> ``d510f9c1430c^..b0255656d121``::
>>> +
>>> +  * 62d0a92057ca - CHANGELOG.md: Start a new 4.22 section
>>> +  * 7b88e463f999 - Config.mk: Switch QEMU back to master
>>> +  * d954e8c5c8de - Rerun ./autogen.sh for 4.22
>>> +  * 85768c28b705 - (tag: 4.22-dev) Update Xen to 4.22
>>> +  | * b0255656d121 - (staging-4.21) Switch to release builds by default
>>> +  |/
>>> +  * d510f9c1430c - doc/man: Align list of viridian default enlightenments 
>>> with libxl
>>> +
>>> +
>>> +Releasing
>>> +=========
>>> +
>>> + * Finalise the release dates in ``CHANGELOG.md`` (backported from staging)
>>> +   and ``SUPPORT.md`` (only in the release branch).
>>> +
>>> + * Tag the release in relevant external repos, and update ``Config.mk`` to
>>> +   refer to the tag.
>>> +
>>> + * Update ``XEN_EXTRAVERSION`` to drop the ``-rc`` suffix, and update
>> Since further up it's now rc<N>, imo it would be better to also say it that 
>> way
>> here.
> 
> One thing I found very problematic with the older checklists was the
> excessive use of variables.  In this doc, I've got it down to two, and
> using the examples to clear up any ambiguity.
> 
> Would "to drop the RC suffix" work?  This is supposed to be clear that
> it means rc and whatever number we've got to, but rc<N> (especially
> rendered as a literal) doesn't help IMO.

Yes, fine with me.

>>> +   ``README`` to match.  Commit.
>> The latest here QEMU_UPSTREAM_REVISION and MINIOS_UPSTREAM_REVISION also need
>> adjusting to reference version tags, aiui. Taking tag creation in the 
>> respective
>> leaf trees as prereq.
> 
> That's the previous bullet point.  I should probably make it clearer
> saying ``*_UPSTREAM_REVISION`` but naming more specifically like that is
> going to bitrot.

Oh, I see. The absence of *_UPSTREAM_REVISION made me not recognize it as
what it is.

>>> + * Tag.  Produce tarballs.
>> Link to the respective section further down?
> 
> I considered that.  The linking syntax detracts from the readability as
> a text file, while on the rendered version it's clear from the
> navigation panel that there are relevant sections.

Well, okay.

Jan



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.