Merge lp:~didrocks/cupstream2distro-config/support-manual-rebuild-and-mir into lp:cupstream2distro-config

Proposed by Didier Roche-Tolomelli
Status: Merged
Approved by: Łukasz Zemczak
Approved revision: 527
Merged at revision: 524
Proposed branch: lp:~didrocks/cupstream2distro-config/support-manual-rebuild-and-mir
Merge into: lp:cupstream2distro-config
Diff against target: 166 lines (+58/-35)
6 files modified
daily-release/config/defaults.conf (+1/-0)
daily-release/cu2d-update-stack (+2/-0)
daily-release/jenkins-templates/master-config.xml.tmpl (+5/-0)
daily-release/jenkins-templates/prepare-project-config.xml.tmpl (+4/-0)
stacks/head/mir.cfg (+5/-35)
stacks/head/mirslave.cfg (+41/-0)
To merge this branch: bzr merge lp:~didrocks/cupstream2distro-config/support-manual-rebuild-and-mir
Reviewer Review Type Date Requested Status
Łukasz Zemczak Approve
PS Jenkins bot continuous-integration Approve
Review via email: mp+175247@code.launchpad.net

Commit message

This branch adds support for the new "force rebuild parameter" both inconditionnaly (on every build for a components) and on demand if the force_rebuild parameter is set.
If rebuild_only is empty (and no check_with_whole_ppa), force_rebuild will be executed on all components of the stack. If it's only a set of components precised, it will be only affects those.

Support Mir as well by moving tests from mir to mirslaves, and building unity-system-compositor there with new force-rebuild parameter. This will ensure that everyday, once mir is built, we have unity-system-compositor rebuilding with against Mir without have to bump the build-dep. Mir stack is in manual publishing mode and so, Mir will only get released if Mirslave pass tests. Mirslaves will as well be in manual publishing mode as the dependant stack (Mir) is in manual publishing mode.

Description of the change

This branch adds support for the new "force rebuild parameter" both inconditionnaly (on every build for a components) and on demand if the force_rebuild parameter is set.
If rebuild_only is empty (and no check_with_whole_ppa), force_rebuild will be executed on all components of the stack. If it's only a set of components precised, it will be only affects those.

Support Mir as well by moving tests from mir to mirslaves, and building unity-system-compositor there with new force-rebuild parameter. This will ensure that everyday, once mir is built, we have unity-system-compositor rebuilding with against Mir without have to bump the build-dep. Mir stack is in manual publishing mode and so, Mir will only get released if Mirslave pass tests. Mirslaves will as well be in manual publishing mode as the dependant stack (Mir) is in manual publishing mode.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Ok, looking good. Force rebuild looks useful - no way to test it, but the code looks ok.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'daily-release/config/defaults.conf'
2--- daily-release/config/defaults.conf 2013-03-12 17:42:05 +0000
3+++ daily-release/config/defaults.conf 2013-07-17 11:00:36 +0000
4@@ -4,3 +4,4 @@
5 dest: ubuntu
6 daily_release_default:
7 daily_release: True
8+ force-rebuild: False
9
10=== modified file 'daily-release/cu2d-update-stack'
11--- daily-release/cu2d-update-stack 2013-06-25 12:25:34 +0000
12+++ daily-release/cu2d-update-stack 2013-07-17 11:00:36 +0000
13@@ -141,6 +141,8 @@
14 stack['series-version'])
15 if stack['dest'] != 'ubuntu':
16 ctx['opts'] += ' -d {}'.format(stack['dest'])
17+ if stack['projects'][srcname]['force-rebuild']:
18+ ctx['opts'] += ' -f'
19 ctx['projectname'] = srcname
20 setup_job(jkh, jjenv, jobname, TEMPLATES['prepare-project'],
21 ctx, update)
22
23=== modified file 'daily-release/jenkins-templates/master-config.xml.tmpl'
24--- daily-release/jenkins-templates/master-config.xml.tmpl 2013-06-10 07:55:58 +0000
25+++ daily-release/jenkins-templates/master-config.xml.tmpl 2013-07-17 11:00:36 +0000
26@@ -22,6 +22,11 @@
27 <description>don't rebuild the current stack, only rerun it with the whole ppa content for the check step</description>
28 <defaultValue>false</defaultValue>
29 </hudson.model.BooleanParameterDefinition>
30+ <hudson.model.BooleanParameterDefinition>
31+ <name>FORCE_REBUILD</name>
32+ <description>Force rebuilding above selected components (matching eventually REBUILD_ONLY), even if they have nothing to release.</description>
33+ <defaultValue>false</defaultValue>
34+ </hudson.model.BooleanParameterDefinition>
35 </parameterDefinitions>
36 </hudson.model.ParametersDefinitionProperty>
37 </properties>
38
39=== modified file 'daily-release/jenkins-templates/prepare-project-config.xml.tmpl'
40--- daily-release/jenkins-templates/prepare-project-config.xml.tmpl 2013-06-13 16:30:07 +0000
41+++ daily-release/jenkins-templates/prepare-project-config.xml.tmpl 2013-07-17 11:00:36 +0000
42@@ -43,6 +43,10 @@
43 fi
44 fi
45
46+if [ "$FORCE_REBUILD" = "true" ]; then
47+ OPTS="$OPTS -f"
48+fi
49+
50 # WS Clean-up
51 rm -f *xml
52
53
54=== modified file 'stacks/head/mir.cfg'
55--- stacks/head/mir.cfg 2013-07-16 15:36:00 +0000
56+++ stacks/head/mir.cfg 2013-07-17 11:00:36 +0000
57@@ -4,35 +4,9 @@
58 series-version: '13.10'
59 ppa: ubuntu-unity/daily-build-next
60 dest: ubuntu-unity/next
61- extracheck: autopilot-saucy-daily_release
62- schedule: 0 1 * * 1-7
63- dependencies:
64- - qa
65- test_parameters:
66- apmachines: ati intel
67- packages: libboost-program-options1.53.0 libboost-system1.53.0 libgflags2 libgoogle-glog0 libunwind8 libegl1-mesa libegl1-mesa-drivers libgbm1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles2-mesa xserver-common xserver-xorg-core xserver-xorg-video-ati xserver-xorg-video-radeon xserver-xorg-video-intel xserver-xorg-video-nouveau unity-system-compositor libmirprotobuf0 libmirserver0 libmirclient1 lightdm liblightdm-gobject-1-0 unity-greeter
68- testpackages: unity-autopilot
69- tests: unity.tests.launcher.test_capture.LauncherCaptureTests.test_launcher_capture_while_not_sticky_and_hidden unity.tests.launcher.test_capture.LauncherCaptureTests.test_launcher_captures_while_sticky_and_revealed unity.tests.launcher.test_capture.LauncherCaptureTests.test_launcher_not_capture_while_not_sticky_and_hidden_moving_right unity.tests.launcher.test_capture.LauncherCaptureTests.test_launcher_not_capture_while_not_sticky_and_revealed unity.tests.launcher.test_icon_behavior.LauncherDragIconsBehavior.test_can_drag_icon_below_bfb unity.tests.launcher.test_icon_behavior.LauncherIconsTests.test_bfb_tooltip_disappear_when_dash_is_opened unity.tests.launcher.test_icon_behavior.LauncherIconsTests.test_unminimize_minimized_immediately_after_show_windows unity.tests.launcher.test_icon_behavior.LauncherIconsTests.test_right_click_on_icon_ends_expo unity.tests.launcher.test_icon_behavior.LauncherIconsTests.test_expo_launcher_icon_initiates_expo unity.tests.launcher.test_keynav.LauncherKeyNavTests.test_alt_f1_closes_dash unity.tests.launcher.test_keynav.LauncherKeyNavTests.test_alt_f1_closes_hud unity.tests.launcher.test_keynav.LauncherKeyNavTests.test_launcher_keynav_cancel_on_click_outside unity.tests.launcher.test_keynav.LauncherKeyNavTests.test_launcher_keynav_cancel_on_quicklist_activate unity.tests.launcher.test_reveal.LauncherRevealTests.test_reveal_on_mouse_to_edge unity.tests.launcher.test_scroll.LauncherScrollTests.test_autoscrolling_from_bottom unity.tests.launcher.test_scroll.LauncherScrollTests.test_autoscrolling_from_top unity.tests.launcher.test_switcher.LauncherSwitcherTests.test_launcher_switcher_cycling_forward unity.tests.launcher.test_tooltips.LauncherTooltipTests.test_launcher_bfb_tooltip_when_open unity.tests.launcher.test_visual.LauncherVisualTests.test_opening_dash_desaturates_icons unity.tests.test_command_lens.CommandScopeSearchTests.test_ctrl_tab_switching unity.tests.test_dash.DashBorderTests.test_click_bottom_border unity.tests.test_dash.DashClipboardTests.test_ctrl_x_v unity.tests.test_dash.DashClipboardTests.test_middle_click_paste unity.tests.test_dash.DashCrossMonitorsTests.test_dash_close_on_cross_monitor_click unity.tests.test_dash.DashKeyNavTests.test_control_tab_scope_cycle unity.tests.test_dash.DashMultiKeyTests.test_multi_key_delete unity.tests.test_dash.DashRevealTests.test_dash_reveal unity.tests.test_dash.DashRevealWithSpreadTests.test_command_scope_opens_when_in_spread unity.tests.test_dash.PreviewNavigateTests.test_overlay_text unity.tests.test_home_lens.HomeScopeSearchTests.test_quick_run_app unity.tests.test_hud.HudBehaviorTests.test_alt_arrow_keys_not_eaten unity.tests.test_hud.HudCrossMonitorsTests.test_hud_close_on_cross_monitor_click unity.tests.test_hud.HudLockedLauncherInteractionsTests.test_hud_desaturates_launcher_icons unity.tests.test_ibus.IBusTestsAnthy.test_anthy unity.tests.test_ibus.IBusTestsAnthyIgnore.test_ignore_key_events_on_hud unity.tests.test_ibus.IBusTestsPinyin.test_pinyin unity.tests.test_panel.PanelCrossMonitorsTests.test_panel_title_updates_moving_window unity.tests.test_panel.PanelMenuTests.test_menus_are_added_on_new_application unity.tests.test_panel.PanelTitleTests.test_panel_title_on_empty_desktop unity.tests.test_panel.PanelWindowButtonsTests.test_hud_maximize_button_does_not_change_dash_form_factor unity.tests.test_quicklist.QuicklistActionTests.test_quicklist_application_item_focus_last_active_window unity.tests.test_showdesktop.ShowDesktopTests.test_showdesktop_hides_apps unity.tests.test_switcher.SwitcherDetailsModeTests.test_detail_mode_selects_last_active_window unity.tests.test_switcher.SwitcherTests.test_lazy_switcher_initiate unity.tests.test_switcher.SwitcherWindowsManagementTests.test_switcher_rises_other_application unity.tests.xim.test_gcin.GcinTestHangul.test_dash_input
70- ci_default:
71- autolanding_template: mbs-autolanding-config.xml.tmpl
72- rebuild_template: mbs-rebuild-config.xml.tmpl
73- hook_source: lp:~private-ps-quality-team/+junk/mbs-archive-hooks
74- hooks: H05set_package_version D00mbs_archive
75- configurations:
76- saucy-amd64:
77- template: mbs-pbuilder-config.xml.tmpl
78- node_label: pbuilder
79- local_archive_host: naartjie
80- local_archive_login: ubuntu
81- local_archive_tmp: /home/ubuntu/local-archive
82- local_archive_name: head.mir
83- local_archive_source: http://naartjie/archive/
84- local_archive_pocket: raring
85- build_timeout: 120
86- autolanding:
87- ppa_target: ppa:mir-team/staging
88- distributions: raring,saucy
89- use_description_for_commit: True
90+ extracheck: False # checks are run in mirslave stack
91+ schedule: 0 0 * * 1-7
92+ manualpublish: True # forced manual publishing as we need mirslave stack to be published at the same time
93 projects:
94 mir:
95 contact_email: thomi.richards@canonical.com francis.ginther@canonical.com
96@@ -52,9 +26,6 @@
97 template: False
98 rebuild: lightdm-mir,unity-system-compositor
99 # TODO irc if autolanding fails
100- qmir:
101- contact_email: thomi.richards@canonical.com
102- daily_release: False # This is a deprecated project, will be replace by platform-api supporting mir
103 lightdm-trunk:
104 daily_release: False # look at lightdm, then will be merged back in trunk
105 target_branch: lp:lightdm
106@@ -65,12 +36,11 @@
107 ppa_target: ppa:lightdm-team/daily
108 distributions: precise,quantal,raring,saucy
109 lightdm:
110+ daily_release: False # won't daily release until we have tests
111 target_branch: lp:~mir-team/lightdm/unity
112 contact_email: thomi.richards@canonical.com francis.ginther@canonical.com
113 hooks: H05set_package_version D00mbs_archive D09add_ppa~canonical-qt5-edgers~qt5-proper D09add_ppa~mir-team~staging
114 unity-greeter:
115+ daily_release: False # won't daily release until we have tests
116 unity-greeter-session-broadcast:
117 daily_release: False # For now, this project has no real code, re-enable once implemented
118- unity-system-compositor:
119- contact_email: thomi.richards@canonical.com francis.ginther@canonical.com
120- hooks: H05set_package_version D00mbs_archive D09add_ppa~canonical-qt5-edgers~qt5-proper D09add_ppa~mir-team~staging
121
122=== added file 'stacks/head/mirslave.cfg'
123--- stacks/head/mirslave.cfg 1970-01-01 00:00:00 +0000
124+++ stacks/head/mirslave.cfg 2013-07-17 11:00:36 +0000
125@@ -0,0 +1,41 @@
126+stack:
127+ name: mirslave
128+ series: saucy
129+ series-version: '13.10'
130+ ppa: ubuntu-unity/daily-build-next
131+ dest: ubuntu-unity/next
132+ extracheck: autopilot-saucy-daily_release
133+ schedule: 30 0 * * 1-7
134+ dependencies:
135+ - qa
136+ - mir
137+ test_parameters:
138+ apmachines: ati intel
139+ packages: libboost-program-options1.53.0 libboost-system1.53.0 libgflags2 libgoogle-glog0 libunwind8 libegl1-mesa libegl1-mesa-drivers libgbm1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles2-mesa xserver-common xserver-xorg-core xserver-xorg-video-ati xserver-xorg-video-radeon xserver-xorg-video-intel xserver-xorg-video-nouveau unity-system-compositor libmirprotobuf0 libmirserver0 libmirclient1 lightdm liblightdm-gobject-1-0 unity-greeter
140+ testpackages: unity-autopilot
141+ tests: unity.tests.launcher.test_capture.LauncherCaptureTests.test_launcher_capture_while_not_sticky_and_hidden unity.tests.launcher.test_capture.LauncherCaptureTests.test_launcher_captures_while_sticky_and_revealed unity.tests.launcher.test_capture.LauncherCaptureTests.test_launcher_not_capture_while_not_sticky_and_hidden_moving_right unity.tests.launcher.test_capture.LauncherCaptureTests.test_launcher_not_capture_while_not_sticky_and_revealed unity.tests.launcher.test_icon_behavior.LauncherDragIconsBehavior.test_can_drag_icon_below_bfb unity.tests.launcher.test_icon_behavior.LauncherIconsTests.test_bfb_tooltip_disappear_when_dash_is_opened unity.tests.launcher.test_icon_behavior.LauncherIconsTests.test_unminimize_minimized_immediately_after_show_windows unity.tests.launcher.test_icon_behavior.LauncherIconsTests.test_right_click_on_icon_ends_expo unity.tests.launcher.test_icon_behavior.LauncherIconsTests.test_expo_launcher_icon_initiates_expo unity.tests.launcher.test_keynav.LauncherKeyNavTests.test_alt_f1_closes_dash unity.tests.launcher.test_keynav.LauncherKeyNavTests.test_alt_f1_closes_hud unity.tests.launcher.test_keynav.LauncherKeyNavTests.test_launcher_keynav_cancel_on_click_outside unity.tests.launcher.test_keynav.LauncherKeyNavTests.test_launcher_keynav_cancel_on_quicklist_activate unity.tests.launcher.test_reveal.LauncherRevealTests.test_reveal_on_mouse_to_edge unity.tests.launcher.test_scroll.LauncherScrollTests.test_autoscrolling_from_bottom unity.tests.launcher.test_scroll.LauncherScrollTests.test_autoscrolling_from_top unity.tests.launcher.test_switcher.LauncherSwitcherTests.test_launcher_switcher_cycling_forward unity.tests.launcher.test_tooltips.LauncherTooltipTests.test_launcher_bfb_tooltip_when_open unity.tests.launcher.test_visual.LauncherVisualTests.test_opening_dash_desaturates_icons unity.tests.test_command_lens.CommandScopeSearchTests.test_ctrl_tab_switching unity.tests.test_dash.DashBorderTests.test_click_bottom_border unity.tests.test_dash.DashClipboardTests.test_ctrl_x_v unity.tests.test_dash.DashClipboardTests.test_middle_click_paste unity.tests.test_dash.DashCrossMonitorsTests.test_dash_close_on_cross_monitor_click unity.tests.test_dash.DashKeyNavTests.test_control_tab_scope_cycle unity.tests.test_dash.DashMultiKeyTests.test_multi_key_delete unity.tests.test_dash.DashRevealTests.test_dash_reveal unity.tests.test_dash.DashRevealWithSpreadTests.test_command_scope_opens_when_in_spread unity.tests.test_dash.PreviewNavigateTests.test_overlay_text unity.tests.test_home_lens.HomeScopeSearchTests.test_quick_run_app unity.tests.test_hud.HudBehaviorTests.test_alt_arrow_keys_not_eaten unity.tests.test_hud.HudCrossMonitorsTests.test_hud_close_on_cross_monitor_click unity.tests.test_hud.HudLockedLauncherInteractionsTests.test_hud_desaturates_launcher_icons unity.tests.test_ibus.IBusTestsAnthy.test_anthy unity.tests.test_ibus.IBusTestsAnthyIgnore.test_ignore_key_events_on_hud unity.tests.test_ibus.IBusTestsPinyin.test_pinyin unity.tests.test_panel.PanelCrossMonitorsTests.test_panel_title_updates_moving_window unity.tests.test_panel.PanelMenuTests.test_menus_are_added_on_new_application unity.tests.test_panel.PanelTitleTests.test_panel_title_on_empty_desktop unity.tests.test_panel.PanelWindowButtonsTests.test_hud_maximize_button_does_not_change_dash_form_factor unity.tests.test_quicklist.QuicklistActionTests.test_quicklist_application_item_focus_last_active_window unity.tests.test_showdesktop.ShowDesktopTests.test_showdesktop_hides_apps unity.tests.test_switcher.SwitcherDetailsModeTests.test_detail_mode_selects_last_active_window unity.tests.test_switcher.SwitcherTests.test_lazy_switcher_initiate unity.tests.test_switcher.SwitcherWindowsManagementTests.test_switcher_rises_other_application unity.tests.xim.test_gcin.GcinTestHangul.test_dash_input
142+ ci_default:
143+ autolanding_template: mbs-autolanding-config.xml.tmpl
144+ rebuild_template: mbs-rebuild-config.xml.tmpl
145+ hook_source: lp:~private-ps-quality-team/+junk/mbs-archive-hooks
146+ hooks: H05set_package_version D00mbs_archive
147+ configurations:
148+ saucy-amd64:
149+ template: mbs-pbuilder-config.xml.tmpl
150+ node_label: pbuilder
151+ local_archive_host: naartjie
152+ local_archive_login: ubuntu
153+ local_archive_tmp: /home/ubuntu/local-archive
154+ local_archive_name: head.mir
155+ local_archive_source: http://naartjie/archive/
156+ local_archive_pocket: raring
157+ build_timeout: 120
158+ autolanding:
159+ ppa_target: ppa:mir-team/staging
160+ distributions: raring,saucy
161+ use_description_for_commit: True
162+ projects:
163+ unity-system-compositor:
164+ force-rebuild: True # rebuild everyday as Mir is changing ABI everyday
165+ contact_email: thomi.richards@canonical.com francis.ginther@canonical.com
166+ hooks: H05set_package_version D00mbs_archive D09add_ppa~canonical-qt5-edgers~qt5-proper D09add_ppa~mir-team~staging

Subscribers

People subscribed via source and target branches

to all changes: