Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit fb64929

Browse files
authored
Merge pull request #25652 from tacaswell/doc/backports
DOC: clarify the milestoning and backport policy wording
2 parents 8dd2b04 + fedddea commit fb64929

File tree

1 file changed

+36
-25
lines changed

1 file changed

+36
-25
lines changed

doc/devel/coding_guide.rst

Lines changed: 36 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -273,25 +273,28 @@ Labels
273273
Milestones
274274
----------
275275

276-
* Set the milestone according to these rules:
276+
Set the milestone according to these guidelines:
277277

278-
* *New features and API changes* are milestoned for the next minor release
279-
``v3.N.0``.
278+
* *New features and API changes* are milestoned for the next minor release
279+
``v3.N.0``.
280280

281-
* *Bugfixes, tests for released code, and docstring changes* are milestoned
282-
for the next patch release ``v3.N.M``.
281+
* *Bugfixes, tests for released code, and docstring changes* may be milestoned
282+
for the next patch release ``v3.N.M``.
283283

284-
* *Documentation changes* (all .rst files and examples) are milestoned
285-
``v3.N-doc``.
284+
* *Documentation changes* (all .rst files and examples) may be milestoned
285+
``v3.N-doc``.
286286

287-
If multiple rules apply, choose the first matching from the above list.
287+
If multiple rules apply, choose the first matching from the above list. See
288+
:ref:`backport-strategy` for detailed guidance on what should or should not be
289+
backported.
288290

289-
Setting a milestone does not imply or guarantee that a PR will be merged for that
290-
release, but if it were to be merged what release it would be in.
291+
The milestone marks the release a PR should go into. It is an intent but can
292+
be changed because of re-evaluation of the PR scope and maturity or release
293+
planning.
291294

292-
All of these PRs should target the main branch. The milestone tag triggers
293-
an :ref:`automatic backport <automated-backports>` for milestones which have
294-
a corresponding branch.
295+
All Pull Requests should target the main branch. The milestone tag triggers
296+
an :ref:`automatic backport <automated-backports>` for milestones which have
297+
a corresponding branch.
295298

296299
.. _pr-merging:
297300

@@ -440,26 +443,34 @@ Other branches are fed through :ref:`automatic <automated-backports>` or
440443
targeting other branches is only rarely necessary for special maintenance
441444
work.
442445

443-
.. backport_strategy:
446+
.. _backport-strategy:
444447

445448
Backport strategy
446449
-----------------
447450

448-
We will always backport to the patch release branch (*v3.N.x*):
451+
Backports to the patch release branch (*v3.N.x*) are the changes that will be
452+
included in the next patch (aka bug-fix) release. The goal of the patch
453+
releases is to fix bugs without adding any new regressions or behavior changes.
454+
We will always attempt to backport:
449455

450-
- critical bug fixes (segfault, failure to import, things that the user cannot
451-
work around)
452-
- fixes for regressions against the last two releases.
456+
- critical bug fixes (segfault, failure to import, things that the
457+
user can not work around)
458+
- fixes for regressions introduced in last two minor releases
453459

454-
Everything else (regressions against older releases, bugs/api
455-
inconsistencies the user can work around in their code) are on a
456-
case-by-case basis, should be low-risk, and need someone to advocate
457-
for and shepherd through the backport.
460+
and may attempt to backport regressions introduced in older releases.
461+
462+
In the case where the backport is not clean, for example if the bug fix is
463+
built on top of other code changes we do not want to backport, balance the
464+
effort and risk of re-implementing the bug fix vs the severity of the bug.
465+
When in doubt, err on the side of not backporting.
466+
467+
When backporting a Pull Request fails or is declined re-milestone the original
468+
PR to the next minor release and leave a comment explaining why.
458469

459470
The only changes to be backported to the documentation branch (*v3.N.M-doc*)
460-
are changes to :file:`doc`, :file:`examples`, or :file:`tutorials`.
461-
Any changes to :file:`lib` or :file:`src` including docstring-only changes
462-
should not be backported to this branch.
471+
are changes to :file:`doc`, :file:`examples`, or :file:`tutorials`. Any
472+
changes to :file:`lib` or :file:`src`, including docstring-only changes, must
473+
not be backported to this branch.
463474

464475

465476
.. _automated-backports:

0 commit comments

Comments
 (0)