RTMLandingApproaches

Differences between revisions 9 and 10
Revision 9 as of 2014-09-23 16:55:33
Size: 5572
Editor: sil2100
Comment:
Revision 10 as of 2014-09-23 17:40:47
Size: 6440
Editor: sil2100
Comment:
Deletions are marked like this. Additions are marked like this.
Line 28: Line 28:


== Trunk targets ubuntu-rtm, sync to ubuntu ==

=== 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 - targeting ubuntu-rtm. But ubuntu and ubuntu-rtm in sync.

=== How to request such a landing? ===

Fill in an ubuntu-rtm landing with merge requests, mentioning in the comments that the ubuntu-rtm landing needs to happen first.

=== Overview ===

This is almost the same as the first default approach, with the difference that first the ubuntu-rtm silo is being built from merge requests, tested and then synced back to ubuntu. So it's the other way around. The downside of this one is that landings are 'blocked' on the QA sign-off for RTM.

Possible ways to land changes to ubuntu-rtm

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.

Some approaches are still in the works. We expect things to be much easier once changes in the infrastructure are finished.

(DEFAULT) 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.

Trunk targets ubuntu-rtm, sync to ubuntu

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 - targeting ubuntu-rtm. But ubuntu and ubuntu-rtm in sync.

How to request such a landing?

Fill in an ubuntu-rtm landing with merge requests, mentioning in the comments that the ubuntu-rtm landing needs to happen first.

Overview

This is almost the same as the first default approach, with the difference that first the ubuntu-rtm silo is being built from merge requests, tested and then synced back to ubuntu. So it's the other way around. The downside of this one is that landings are 'blocked' on the QA sign-off for RTM.

Manual dual landings for both using source-package copies

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?

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.

If you do not want this mode to be used, please let us know beforehand when filling in the landing (in the comment field for instance).

You can also request a sync from Ubuntu explicitly by creating a landing in the spreadsheet with the source package names listed and mentioned and where to fetch the packages from.

Overview

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.

In this process the source packages usually get copied by the landing team automatically to the ubuntu-rtm silo from the ubuntu counterpart after the ubuntu versions are ready to be published. Any lander can request a copy at any time by just pinging us beforehand on IRC.

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.

(N/A) Dual synchronized landings

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?

Currently in the works, not available yet. Landings will be marked as 'dual' in 'Target distribution'.

Overview

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.

FAQ/Problems

  • Adding RTM ppa doesn't work, adding the landing ppa will still fall back to utopic. Edit /etc/apt/sources.list.d/... manually to point to ubuntu-rtm 14.09.

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