Backporting Tickets to a Release Branch¶
So you have a ticket that you think should be backported to
v23.0.0 and/or be used for DP0.2.
First, add the label “backport-v23” to your jira ticket.
This will flag it for review by the DM-CCB or the DP0.2 campaign managers. Continue merging your ticket to the default branch (
main) and mark the ticket
Doneper instructions in the normal DM Development Workflow with Git, GitHub, JIRA and Jenkins.
Wait for approval. The ticket will gain the label “backport-approved.” A comment will be posted on the ticket that you may start the backporting process.
Checkout the release branch,
v23.0.x, for each repo affected by your ticket.
git checkout v23.0.x
If the repo does not already have a
v23.0.xbranch, you need to create one based on
v23.0.0.rc1(not the latest rcN, although that should be identical):
git checkout v23.0.0.rc1 git checkout -b v23.0.x git push -u origin v23.0.x
v23.0.xsame as you would the default branch (
Create a copy of your ticket branch called
git checkout tickets/DM-XXXXX git checkout -b tickets/DM-XXXXX-v23 git rebase --onto v23.0.x <sha_of_last_commit_before_your_branch>
In a new clone, this branch may not exist anymore if you have already merged your PR because merged branches may be automatically deleted. In this case, you can branch
v23.0.x, and cherry-pick the ticket commits.
git checkout v23.0.x git checkout -b tickets/DM-XXXXX-v23 git cherry-pick <ticket commit>
The following may help you find your hash[es] from
git show --quiet $(git log --oneline | grep 'Merge.*DM-XXXXX' | cut -d' ' -f1)^2
Resolve any rebase or cherry-pick problems depending on your method. Continue using the same procedure outlined in Review Preparation. Check that it cleanly builds via scons. There should be a latest shared v23.0.0.rcN stack on lsst-devl. Run Jenkins. When running Jenkins, build against the release branch and rc1 even if later rcNs exist. The default
SPLENV_REFmay no longer be appropriate for
v23.0.x. If you are unsure of the recommended env for the release, check with the release manager.
REFS: tickets/DM-XXXXX-v23 v23.0.x v23.0.0.rc1 PRODUCTS: lsst_distrib lsst_ci ci_imsim ci_hsc SPLENV_REF: 0.8.0
You may find that the ticket cannot be cleanly backported without first backporting another ticket.
When it passes, merge to
v23.0.xusing the same procedure outlined in Merging, including creating a pull request. On your pull request, remember to change the base branch to
v23.0.x. If the backport was clean, you may self-review. If the backport was not clean and you would like another pair of eyes, you may ask someone to hit the “Approved” button on GitHub, but please do not put your ticket status back into
In Reviewon Jira.
When merged to
v23.0.x, label your Jira ticket
Interaction between v23 and DP0.2¶
Before the full-scale data release processing of step1 commences for DP0.2, a new rcN release will be built on approximately weekly cadence. This weekly cadence follows the weekly review of backport requests.
After step1 begins and 23.0.0 is released, the current plan is to increment the release versions. This backporting process will remain the same, but with evolving release tags and release branch numbers.