RTMLandingApproaches

Differences between revisions 1 and 15 (spanning 14 versions)
Revision 1 as of 2014-08-26 17:23:57
Size: 2633
Editor: sil2100
Comment:
Revision 15 as of 2014-11-04 12:28:21
Size: 4136
Editor: sil2100
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Possible ways to land changes to ubuntu-rtm = = Landing changes to Ubuntu RTM =
Line 3: Line 3:
== Manual dual landings for both using source-package copies (default) == == Overview ==
Line 5: Line 5:
=== Who is it for? === Below we outline two currently accepted ways of landing things to Ubuntu RTM. There is some flexibility in doing this, but one rule needs to be obeyed: any change that lands into 14.09 '''is required''' to land to the current development series (currently: vivid). Not obeying this rule will lead to confusion and chaos whenever the switch of focus happens. It might be indeed slower, but it will save everyone many problems in the future.
Line 7: Line 7:
This approach is perfect for those that want all of their changes in ubuntu-rtm. Perfect for projects that only want to have one branch (trunk) for both ubuntu and ubuntu-rtm. So remember: '''always''' land your changes to the current development series first!
Line 9: Line 9:
=== Requirements === == Separate branches ==
Line 11: Line 11:
Only one bzr development branch. Ubuntu and ubuntu-rtm in sync.  1. Leave main bzr branch to target current development series (vivid)
 1. Create a separate branch for ubuntu-rtm
 1. First create a MP for the change for trunk (vivid)
 1. Land your change to Ubuntu through the normal landing process
 1. Cherry-pick the change to a branch targeting the ubuntu-rtm branch
 1. Submit a landing targeting ubuntu-rtm/14.09
 1. Land it separately
Line 13: Line 19:
=== How to request such a landing? === == Source sync from vivid to 14.09 ==
Line 15: Line 21:
Currently this will be the default approach, so any landing that's submitted for ubuntu will have an ubuntu-rtm silo prepared. We will make sure that the silo will be propagated with latest source packages from the ubuntu counterpart whenever requested. No additional action from the lander required. Please inform the trainguard whenever you want more up-to-date packages copied into the ubuntu-rtm silo.  1. Only one bzr branch for the project trunk
 1. Prepare a landing for vivid
 1. Release the silo for vivid
 1. Ask for a source sync silo from vivid to ubuntu-rtm
 1. Test and release the silo for ubuntu-rtm
Line 17: Line 27:
=== Overview ===
Line 19: Line 28:
This means that everything that you build in your ubuntu silo will be synced up into the ubuntu-rtm silo. With this, basically, both landings will happen more or less simultaneously. Currently this is sadly a manual process, but once the CI Train bits are ready, dual-landing support will be the way. = Details =

This place tries to overview some of the possible methods of landing your Ubuntu changes to Ubuntu-RTM. As everyone knows, currently ubuntu-rtm is should be our main development focus - with a requirement that every change first lands in Ubuntu. This can be troublesome and we, the Landing Team, are trying to figure out possibilities of how to make this easier for everyone.

Line 37: Line 50:
The first announced landing method. See https://lists.launchpad.net/ubuntu-phone/msg09565.html for more details.
Line 39: Line 53:
== Dual synchronized landings (TODO) == == Semi-automated dual landings using CI Train silo-synchronization ==
Line 51: Line 65:
Currently in the works, not available yet. Landings will be marked as 'dual' in 'Target distribution'. This is the preferred and default way right now. Every ubuntu silo that is requested a landing will have an ubuntu-rtm sync silo assigned automatically by the Landing Team as well (if possible) - bound to the former. If you do not want this to happen, please let us know in the comments field.
Line 55: Line 69:
This is the currently worked-on approach that will become the recommended way soon. Every press of the 'Build' button on the ubuntu silo will cause the build of the very same sources in the ubuntu-rtm silo as well. The recently added sync possibility gives the lander an easier and more convenient way of building the ubuntu-rtm sources based on the ubuntu sources. So, if a lander has an ubuntu silo in which her/his MPs are built, the lander can now get the same sources present in the PPA rebuilt for ubuntu-rtm by simply pressing the build button on the ubuntu-rtm sync silo. A build on the ubuntu-rtm silo triggers a binary-copy from the bound ubuntu silo. The ubuntu-rtm packages are then instantly ready for testing without having to ask the Landing Team directly.

Please note that since these are direct binary copies from a different distribution, please test it with caution to make sure no build-dependencies are missing or invalid.

In cases where a binary copy is not the right way to go, you can simply press build with the REBUILD_SOURCES_FOR_SYNC flag set - this will fall back to the old 'rebuild sources' approach.

Landing changes to Ubuntu RTM

Overview

Below we outline two currently accepted ways of landing things to Ubuntu RTM. There is some flexibility in doing this, but one rule needs to be obeyed: any change that lands into 14.09 is required to land to the current development series (currently: vivid). Not obeying this rule will lead to confusion and chaos whenever the switch of focus happens. It might be indeed slower, but it will save everyone many problems in the future.

So remember: always land your changes to the current development series first!

Separate branches

  1. Leave main bzr branch to target current development series (vivid)
  2. Create a separate branch for ubuntu-rtm
  3. First create a MP for the change for trunk (vivid)
  4. Land your change to Ubuntu through the normal landing process
  5. Cherry-pick the change to a branch targeting the ubuntu-rtm branch
  6. Submit a landing targeting ubuntu-rtm/14.09
  7. Land it separately

Source sync from vivid to 14.09

  1. Only one bzr branch for the project trunk
  2. Prepare a landing for vivid
  3. Release the silo for vivid
  4. Ask for a source sync silo from vivid to ubuntu-rtm
  5. Test and release the silo for ubuntu-rtm

Details

This place tries to overview some of the possible methods of landing your Ubuntu changes to Ubuntu-RTM. As everyone knows, currently ubuntu-rtm is should be our main development focus - with a requirement that every change first lands in Ubuntu. This can be troublesome and we, the Landing Team, are trying to figure out possibilities of how to make this easier for everyone.

Separate branches, separate landings

Who is it for?

This approach is ideal for those projects that are not only focused on ubuntu-rtm or only some commits made to the development branch are safe enough for RTM.

Requirements

A different bzr branch for ubuntu-rtm features. Common naming scheme: ubuntu -> lp:foo, ubuntu-rtm -> lp:foo/rtm-14.09

How to request such a landing?

Please mention explicitly in the landing that you do not want a source-copy ubuntu-rtm silo, and that you will fill in a separate landing with different MP for the ubuntu-rtm bits. 'Target distribution' field mentions if the landing is for ubuntu or ubuntu-rtm.

Overview

The first announced landing method. See https://lists.launchpad.net/ubuntu-phone/msg09565.html for more details.

Semi-automated dual landings using CI Train silo-synchronization

Who is it for?

This approach is perfect for those that want all of their changes in ubuntu-rtm. Perfect for projects that only want to have one branch (trunk) for both ubuntu and ubuntu-rtm.

Requirements

Only one bzr development branch. Ubuntu and ubuntu-rtm in sync.

How to request such a landing?

This is the preferred and default way right now. Every ubuntu silo that is requested a landing will have an ubuntu-rtm sync silo assigned automatically by the Landing Team as well (if possible) - bound to the former. If you do not want this to happen, please let us know in the comments field.

Overview

The recently added sync possibility gives the lander an easier and more convenient way of building the ubuntu-rtm sources based on the ubuntu sources. So, if a lander has an ubuntu silo in which her/his MPs are built, the lander can now get the same sources present in the PPA rebuilt for ubuntu-rtm by simply pressing the build button on the ubuntu-rtm sync silo. A build on the ubuntu-rtm silo triggers a binary-copy from the bound ubuntu silo. The ubuntu-rtm packages are then instantly ready for testing without having to ask the Landing Team directly.

Please note that since these are direct binary copies from a different distribution, please test it with caution to make sure no build-dependencies are missing or invalid.

In cases where a binary copy is not the right way to go, you can simply press build with the REBUILD_SOURCES_FOR_SYNC flag set - this will fall back to the old 'rebuild sources' approach.

citrain/RTMLandingApproaches (last edited 2014-11-04 12:28:21 by sil2100)