Merge lp:~unity-team/unity8/launcher-tooltips into lp:unity8
- launcher-tooltips
- Merge into trunk
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Michał Sawicz | ||||
Approved revision: | no longer in the source branch. | ||||
Merged at revision: | 2718 | ||||
Proposed branch: | lp:~unity-team/unity8/launcher-tooltips | ||||
Merge into: | lp:unity8 | ||||
Diff against target: |
341 lines (+243/-3) 5 files modified
debian/control (+2/-0) qml/Launcher/LauncherDelegate.qml (+1/-0) qml/Launcher/LauncherPanel.qml (+79/-3) qml/Launcher/Tooltip.qml (+72/-0) tests/qmltests/Launcher/tst_Launcher.qml (+89/-0) |
||||
To merge this branch: | bzr merge lp:~unity-team/unity8/launcher-tooltips | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Unity8 CI Bot | continuous-integration | Needs Fixing | |
Michał Sawicz | Approve | ||
Michael Zanetti | Pending | ||
Albert Astals Cid | Pending | ||
Lukáš Tinkl | Pending | ||
Review via email: mp+312025@code.launchpad.net |
This proposal supersedes a proposal from 2016-10-20.
Commit message
Implement launcher tooltips.
Description of the change
* Are there any related MPs required for this MP to build/function as expected?
Yes, lp:~azzar1/unity8/remove-UbuntuShapeForItem. But it has been merged in this branch and listed as a prerequiste.
* Did you perform an exploratory manual test run of your code change and any related functionality?
Yes
* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
N/A
* If you changed the UI, has there been a design review?
Yes, alexm approved them
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
Albert Astals Cid (aacid) wrote : Posted in a previous version of this proposal | # |
Looks good :)
Some minor stuff
Please mark
property var hoveredItem:
property int itemCenter:
as readonly.
Since you changed a == to === i'll ask you to change tooltipShape.
Andrea Azzarone (azzar1) wrote : Posted in a previous version of this proposal | # |
> Looks good :)
>
> Some minor stuff
>
> Please mark
> property var hoveredItem:
> property int itemCenter:
> as readonly.
>
> Since you changed a == to === i'll ask you to change tooltipShape.
> == null too, or if you don't want the really really really equal maybe use
> !tooltipShape.
Done.
Andrea Azzarone (azzar1) wrote : Posted in a previous version of this proposal | # |
Please note tha there are extra lines in the diff due to the fact the prerequisite branch is not in sync with the unified stages (I cannot update it because it's already in the silo).
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:2632
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
UNSTABLE: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Albert Astals Cid (aacid) wrote : Posted in a previous version of this proposal | # |
* Did you perform an exploratory manual test run of the code change and any related functionality?
Yes
* Did CI run pass? If not, please explain why.
No, there's Launcher tests failing but not related to this (i.e. Launcher has been known to be unstable in the init in the past and this doesn't touch the init)
Albert Astals Cid (aacid) wrote : Posted in a previous version of this proposal | # |
Text conflict in tests/qmltests/
1 conflicts encountered.
Note: Was top approved already.
Andrea Azzarone (azzar1) wrote : Posted in a previous version of this proposal | # |
> Text conflict in tests/qmltests/
> 1 conflicts encountered.
>
> Note: Was top approved already.
Done.
Michael Zanetti (mzanetti) wrote : Posted in a previous version of this proposal | # |
ok, re-approving after merge
Albert Astals Cid (aacid) : Posted in a previous version of this proposal | # |
Michał Sawicz (saviq) wrote : Posted in a previous version of this proposal | # |
tests/qmltests/
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:2633
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
UNSTABLE: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
PASSED: Continuous integration, rev:2634
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Michael Zanetti (mzanetti) wrote : Posted in a previous version of this proposal | # |
wheee! ci is green now :)
Michał Sawicz (saviq) wrote : | # |
Approving as per lp:~azzar1/unity8/launcher-tooltips - only change is the added unity8:Depends on qml-module-
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2635
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2635
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2635
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Preview Diff
1 | === modified file 'debian/control' |
2 | --- debian/control 2016-11-16 10:44:00 +0000 |
3 | +++ debian/control 2016-11-29 09:41:51 +0000 |
4 | @@ -49,6 +49,7 @@ |
5 | python3-all:any, |
6 | python3-setuptools, |
7 | qml-module-qt-labs-folderlistmodel, |
8 | + qml-module-qtqml-statemachine, |
9 | qml-module-qtmultimedia (>= 5.4.1-1ubuntu19~overlay2), |
10 | qml-module-qtquick-layouts, |
11 | qml-module-qtquick-xmllistmodel, |
12 | @@ -121,6 +122,7 @@ |
13 | qmenumodel-qml (>= 0.2.10), |
14 | qml-module-biometryd, |
15 | qml-module-qt-labs-folderlistmodel, |
16 | + qml-module-qtqml-statemachine, |
17 | qml-module-qtquick-xmllistmodel, |
18 | qml-module-qtsysteminfo, |
19 | qml-module-ubuntu-web, |
20 | |
21 | === modified file 'qml/Launcher/LauncherDelegate.qml' |
22 | --- qml/Launcher/LauncherDelegate.qml 2016-06-03 11:13:46 +0000 |
23 | +++ qml/Launcher/LauncherDelegate.qml 2016-11-29 09:41:51 +0000 |
24 | @@ -22,6 +22,7 @@ |
25 | |
26 | property int itemIndex: 0 |
27 | property string iconName |
28 | + property string name |
29 | property int count: 0 |
30 | property bool countVisible: false |
31 | property int progress: -1 |
32 | |
33 | === modified file 'qml/Launcher/LauncherPanel.qml' |
34 | --- qml/Launcher/LauncherPanel.qml 2016-11-09 15:02:55 +0000 |
35 | +++ qml/Launcher/LauncherPanel.qml 2016-11-29 09:41:51 +0000 |
36 | @@ -15,6 +15,7 @@ |
37 | */ |
38 | |
39 | import QtQuick 2.4 |
40 | +import QtQml.StateMachine 1.0 as DSM |
41 | import Ubuntu.Components 1.3 |
42 | import Unity.Launcher 0.1 |
43 | import Ubuntu.Components.Popups 1.3 |
44 | @@ -31,7 +32,7 @@ |
45 | property bool dragging: false |
46 | property bool moving: launcherListView.moving || launcherListView.flicking |
47 | property bool preventHiding: moving || dndArea.draggedIndex >= 0 || quickList.state === "open" || dndArea.pressed |
48 | - || mouseEventEater.containsMouse || dashItem.hovered |
49 | + || dndArea.containsMouse || dashItem.hovered |
50 | property int highlightIndex: -2 |
51 | property bool shortcutHintsShown: false |
52 | |
53 | @@ -40,7 +41,7 @@ |
54 | signal kbdNavigationCancelled() |
55 | |
56 | onXChanged: { |
57 | - if (quickList.state == "open") { |
58 | + if (quickList.state === "open") { |
59 | quickList.state = "" |
60 | } |
61 | } |
62 | @@ -69,7 +70,6 @@ |
63 | id: mouseEventEater |
64 | anchors.fill: parent |
65 | acceptedButtons: Qt.AllButtons |
66 | - hoverEnabled: true |
67 | onWheel: wheel.accepted = true; |
68 | } |
69 | |
70 | @@ -225,6 +225,7 @@ |
71 | // the right app when running autopilot tests for |
72 | // multiple apps. |
73 | readonly property string appId: model.appId |
74 | + name: model.name |
75 | itemIndex: index |
76 | itemHeight: launcherListView.itemHeight |
77 | itemWidth: launcherListView.itemWidth |
78 | @@ -399,6 +400,7 @@ |
79 | id: dndArea |
80 | objectName: "dndArea" |
81 | acceptedButtons: Qt.LeftButton | Qt.RightButton |
82 | + hoverEnabled: true |
83 | anchors { |
84 | fill: parent |
85 | topMargin: launcherListView.topMargin |
86 | @@ -828,4 +830,78 @@ |
87 | } |
88 | } |
89 | } |
90 | + |
91 | + Tooltip { |
92 | + id: tooltipShape |
93 | + objectName: "tooltipShape" |
94 | + |
95 | + visible: tooltipShownState.active |
96 | + rotation: root.rotation |
97 | + y: itemCenter - (height / 2) |
98 | + |
99 | + anchors { |
100 | + left: root.inverted ? undefined : parent.right |
101 | + right: root.inverted ? parent.left : undefined |
102 | + margins: units.gu(1) |
103 | + } |
104 | + |
105 | + readonly property var hoveredItem: dndArea.containsMouse ? launcherListView.itemAt(dndArea.mouseX, dndArea.mouseY + launcherListView.realContentY) : null |
106 | + readonly property int itemCenter: !hoveredItem ? 0 : root.mapFromItem(hoveredItem, 0, 0).y + (hoveredItem.height / 2) + hoveredItem.offset |
107 | + |
108 | + text: !hoveredItem ? "" : hoveredItem.name |
109 | + } |
110 | + |
111 | + DSM.StateMachine { |
112 | + id: tooltipStateMachine |
113 | + initialState: tooltipHiddenState |
114 | + running: true |
115 | + |
116 | + DSM.State { |
117 | + id: tooltipHiddenState |
118 | + |
119 | + DSM.SignalTransition { |
120 | + targetState: tooltipShownState |
121 | + signal: tooltipShape.hoveredItemChanged |
122 | + // !dndArea.pressed allows us to filter out touch input events |
123 | + guard: tooltipShape.hoveredItem !== null && !dndArea.pressed && !root.moving |
124 | + } |
125 | + } |
126 | + |
127 | + DSM.State { |
128 | + id: tooltipShownState |
129 | + |
130 | + DSM.SignalTransition { |
131 | + targetState: tooltipHiddenState |
132 | + signal: tooltipShape.hoveredItemChanged |
133 | + guard: tooltipShape.hoveredItem === null |
134 | + } |
135 | + |
136 | + DSM.SignalTransition { |
137 | + targetState: tooltipDismissedState |
138 | + signal: dndArea.onPressed |
139 | + } |
140 | + |
141 | + DSM.SignalTransition { |
142 | + targetState: tooltipDismissedState |
143 | + signal: quickList.stateChanged |
144 | + guard: quickList.state === "open" |
145 | + } |
146 | + } |
147 | + |
148 | + DSM.State { |
149 | + id: tooltipDismissedState |
150 | + |
151 | + DSM.SignalTransition { |
152 | + targetState: tooltipHiddenState |
153 | + signal: dndArea.positionChanged |
154 | + guard: quickList.state != "open" && !dndArea.pressed && !dndArea.moving |
155 | + } |
156 | + |
157 | + DSM.SignalTransition { |
158 | + targetState: tooltipHiddenState |
159 | + signal: dndArea.exited |
160 | + guard: quickList.state != "open" |
161 | + } |
162 | + } |
163 | + } |
164 | } |
165 | |
166 | === added file 'qml/Launcher/Tooltip.qml' |
167 | --- qml/Launcher/Tooltip.qml 1970-01-01 00:00:00 +0000 |
168 | +++ qml/Launcher/Tooltip.qml 2016-11-29 09:41:51 +0000 |
169 | @@ -0,0 +1,72 @@ |
170 | +/* |
171 | + * Copyright (C) 2016 Canonical, Ltd. |
172 | + * |
173 | + * This program is free software; you can redistribute it and/or modify |
174 | + * it under the terms of the GNU General Public License as published by |
175 | + * the Free Software Foundation; version 3. |
176 | + * |
177 | + * This program is distributed in the hope that it will be useful, |
178 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
179 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
180 | + * GNU General Public License for more details. |
181 | + * |
182 | + * You should have received a copy of the GNU General Public License |
183 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
184 | + */ |
185 | + |
186 | +import QtQuick 2.4 |
187 | +import Ubuntu.Components 1.3 |
188 | + |
189 | +UbuntuShape { |
190 | + id: root |
191 | + |
192 | + // This property holds the delay (milliseconds) after which the tool tip is shown. |
193 | + // A tooltip with a negative delay is shown immediately. The default value is 500 ms. |
194 | + property int delay: 500 |
195 | + |
196 | + // This property holds the text shown on the tool tip. |
197 | + property alias text: label.text |
198 | + |
199 | + aspect: UbuntuShape.Flat |
200 | + color: theme.palette.normal.background |
201 | + width: label.implicitWidth + units.gu(4) |
202 | + height: label.implicitHeight + units.gu(2) |
203 | + opacity: 0 |
204 | + |
205 | + Image { |
206 | + anchors { |
207 | + right: parent.left |
208 | + rightMargin: -units.dp(4) |
209 | + verticalCenter: parent.verticalCenter |
210 | + } |
211 | + source: "graphics/quicklist_tooltip.png" |
212 | + rotation: 90 |
213 | + } |
214 | + |
215 | + Label { |
216 | + id: label |
217 | + anchors.centerIn: parent |
218 | + color: theme.palette.normal.backgroundText |
219 | + } |
220 | + |
221 | + states: [ |
222 | + State { |
223 | + name: "visible" |
224 | + when: root.visible |
225 | + PropertyChanges { |
226 | + target: root |
227 | + opacity: 0.95 |
228 | + } |
229 | + } |
230 | + ] |
231 | + |
232 | + transitions: [ |
233 | + Transition { |
234 | + from: ""; to: "visible" |
235 | + SequentialAnimation { |
236 | + PauseAnimation { duration: root.delay } |
237 | + UbuntuNumberAnimation { target: root; property: "opacity"; duration: UbuntuAnimation.BriskDuration } |
238 | + } |
239 | + } |
240 | + ] |
241 | +} |
242 | \ No newline at end of file |
243 | |
244 | === modified file 'tests/qmltests/Launcher/tst_Launcher.qml' |
245 | --- tests/qmltests/Launcher/tst_Launcher.qml 2016-11-16 10:44:13 +0000 |
246 | +++ tests/qmltests/Launcher/tst_Launcher.qml 2016-11-29 09:41:51 +0000 |
247 | @@ -1369,6 +1369,95 @@ |
248 | tryCompare(clickThroughSpy, "count", 0); |
249 | } |
250 | |
251 | + function test_tooltip() { |
252 | + launcher.lockedVisible = true; |
253 | + revealByEdgePush(); |
254 | + |
255 | + var item = findChild(launcher, "launcherDelegate0"); |
256 | + var tooltipShape = findChild(launcher, "tooltipShape"); |
257 | + |
258 | + // Initial state |
259 | + tryCompare(tooltipShape, "visible", false); |
260 | + tryCompare(tooltipShape, "opacity", .0); |
261 | + |
262 | + // Move the mouse on the launcher icon |
263 | + mouseMove(item, item.width / 2, item.height / 2, 10); |
264 | + mouseMove(item, item.width / 2 + 1, item.height / 2, 10); |
265 | + tryCompare(tooltipShape, "visible", true); |
266 | + tryCompare(tooltipShape, "opacity", .95); |
267 | + |
268 | + // Move the mouse away |
269 | + mouseMove(root, root.width, root.height / 2, 10); |
270 | + tryCompare(tooltipShape, "visible", false); |
271 | + tryCompare(tooltipShape, "opacity", .0); |
272 | + } |
273 | + |
274 | + function test_quicklist_dismisses_tooltip() { |
275 | + launcher.lockedVisible = true; |
276 | + revealByEdgePush(); |
277 | + |
278 | + var item = findChild(launcher, "launcherDelegate0"); |
279 | + var tooltipShape = findChild(launcher, "tooltipShape"); |
280 | + var quickListShape = findChild(launcher, "quickListShape"); |
281 | + |
282 | + // Initial state |
283 | + tryCompare(tooltipShape, "visible", false); |
284 | + tryCompare(tooltipShape, "opacity", .0); |
285 | + |
286 | + // Move the mouse on the launcher icon |
287 | + mouseMove(item, item.width / 2, item.height / 2, 10); |
288 | + mouseMove(item, item.width / 2 + 1, item.height / 2, 10); |
289 | + tryCompare(tooltipShape, "visible", true); |
290 | + tryCompare(tooltipShape, "opacity", .95); |
291 | + |
292 | + // Right click to show the quicklist |
293 | + mouseClick(item, item.width / 2, item.height / 2, Qt.RightButton); |
294 | + tryCompare(quickListShape, "visible", true); |
295 | + tryCompare(tooltipShape, "visible", false); |
296 | + tryCompare(tooltipShape, "opacity", .0); |
297 | + |
298 | + // Left click hides the quicklist, tooltip is still dismissed |
299 | + mouseClick(item, item.width / 2, item.height / 2, Qt.LefftButton); |
300 | + tryCompare(quickListShape, "visible", false); |
301 | + tryCompare(tooltipShape, "visible", false); |
302 | + tryCompare(tooltipShape, "opacity", .0); |
303 | + |
304 | + // Mouse motion should should show tooltip again |
305 | + mouseMove(item, item.width / 2, item.height / 2, 10); |
306 | + mouseMove(item, item.width / 2 + 1, item.height / 2, 10); |
307 | + tryCompare(tooltipShape, "visible", true); |
308 | + tryCompare(tooltipShape, "opacity", .95); |
309 | + } |
310 | + |
311 | + function test_click_dismisses_tooltip() { |
312 | + launcher.lockedVisible = true; |
313 | + revealByEdgePush(); |
314 | + |
315 | + var item = findChild(launcher, "launcherDelegate0"); |
316 | + var tooltipShape = findChild(launcher, "tooltipShape"); |
317 | + |
318 | + // Initial state |
319 | + tryCompare(tooltipShape, "visible", false); |
320 | + tryCompare(tooltipShape, "opacity", .0); |
321 | + |
322 | + // Move the mouse on the launcher icon |
323 | + mouseMove(item, item.width / 2, item.height / 2, 10); |
324 | + mouseMove(item, item.width / 2 + 1, item.height / 2, 10); |
325 | + tryCompare(tooltipShape, "visible", true); |
326 | + tryCompare(tooltipShape, "opacity", .95); |
327 | + |
328 | + // Left click should dismiss the tooltip |
329 | + mouseClick(item, item.width / 2 + 1, item.height / 2, Qt.LeftButton); |
330 | + tryCompare(tooltipShape, "visible", false); |
331 | + tryCompare(tooltipShape, "opacity", .0); |
332 | + |
333 | + // Mouse motion should should show tooltip again |
334 | + mouseMove(item, item.width / 2, item.height / 2, 10); |
335 | + mouseMove(item, item.width / 2 + 1, item.height / 2, 10); |
336 | + tryCompare(tooltipShape, "visible", true); |
337 | + tryCompare(tooltipShape, "opacity", .95); |
338 | + } |
339 | + |
340 | function test_launcherEnabledSetting() { |
341 | launcher.available = true; |
342 |
PASSED: Continuous integration, rev:2630 /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/2420/ /unity8- jenkins. ubuntu. com/job/ build/3174 /unity8- jenkins. ubuntu. com/job/ test-0- autopkgtest/ label=amd64, release= vivid+overlay, testname= qmluitests. sh/1811 /unity8- jenkins. ubuntu. com/job/ test-0- autopkgtest/ label=amd64, release= xenial+ overlay, testname= qmluitests. sh/1811 /unity8- jenkins. ubuntu. com/job/ test-0- autopkgtest/ label=amd64, release= yakkety, testname= qmluitests. sh/1811 /unity8- jenkins. ubuntu. com/job/ build-0- fetch/3202 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 3058 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 3058/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 3058 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 3058/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= yakkety/ 3058 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= yakkety/ 3058/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 3058 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 3058/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 3058 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 3058/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= yakkety/ 3058 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= yakkety/ 3058/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 3058 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 3058/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 3058 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 3058/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= yakkety/ 3058 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= yakkety/ 3058/artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/2420/ rebuild
https:/