From patchwork Tue Feb 11 14:48:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Dubois-Briand X-Patchwork-Id: 57078 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6BD8BC021A1 for ; Tue, 11 Feb 2025 14:48:43 +0000 (UTC) Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by mx.groups.io with SMTP id smtpd.web10.675.1739285322097864673 for ; Tue, 11 Feb 2025 06:48:42 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=flLbZdZu; spf=pass (domain: bootlin.com, ip: 217.70.183.195, mailfrom: mathieu.dubois-briand@bootlin.com) Received: by mail.gandi.net (Postfix) with ESMTPSA id 42E5A20457; Tue, 11 Feb 2025 14:48:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1739285320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=+JVPgPbiPl1FJYt6pwGT0lzr+bGaYJRrO8R9Mx+WOxI=; b=flLbZdZuTciMJ1l5pLqURXknmWFdjSMPLhjW0vp4kP82Mtf+JA3nwUaZPx2y/LTXTfIrC7 LRFsAe5PbwBPjMp7lEuK61drdzgEfpf8+kARp4n3DlvxEIU15OQn4BNq5RIzFLw+5Y8Q2B DhOpWxIG+qfaEQlLP/BnpRvmxCoLmhDjLNYQWCYjqya69q3vfi25aoiA71WyxLoERNVetp /fu3/6gkAEpfnfkosid88s9o5VRI7Npa7zgF0dJ0nwyAoeP0D4030gLVJYls8tD8+4NShO XMemFl0glMFVzR3cSQeUmU1Lsvuy13DwLqz8TPbOxlkuutNnqhrgZg7hvBatBw== From: Mathieu Dubois-Briand Date: Tue, 11 Feb 2025 15:48:18 +0100 Subject: [PATCH yocto-autobuilder2 1/3] yocto_console_view: Group similar builder builds MIME-Version: 1.0 Message-Id: <20250211-mathieu-console_view_colspan-v1-1-d94a8c55acf9@bootlin.com> References: <20250211-mathieu-console_view_colspan-v1-0-d94a8c55acf9@bootlin.com> In-Reply-To: <20250211-mathieu-console_view_colspan-v1-0-d94a8c55acf9@bootlin.com> To: yocto-patches@lists.yoctoproject.org Cc: Thomas Petazzoni , Mathieu Dubois-Briand X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=ed25519-sha256; t=1739285319; l=2288; i=mathieu.dubois-briand@bootlin.com; s=20241219; h=from:subject:message-id; bh=MK+UzFLpV1mruPBBvwXtaCqnsSadN7/9uQ92O7mjhp4=; b=Y1LNo1GNtusav5TNGjkbbwg1xSVLaGXn5Z6NoiYZUueV4t2rL+J3lBvTXPBJimjsps/OmH1O6 idcDW88g1IoDcLT1IFThrsYbBarkAfKz784fb6J1sIXHM03qxrBTMXv X-Developer-Key: i=mathieu.dubois-briand@bootlin.com; a=ed25519; pk=1PVTmzPXfKvDwcPUzG0aqdGoKZJA3b9s+3DqRlm0Lww= X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdeguddvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpeforghthhhivghuucffuhgsohhishdquehrihgrnhguuceomhgrthhhihgvuhdrughusghoihhsqdgsrhhirghnugessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnheptdfhgeetvddvheejieehheehueetjeelkedtfeehhefgfeeglefhteegtddthfetnecukfhppedvrgdtudemtggsudegmeehheeimeejrgdttdemfehftghfmehfsgdtugemuddviedvmedvvgejieenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpedvrgdtudemtggsudegmeehheeimeejrgdttdemfehftghfmehfsgdtugemuddviedvmedvvgejiedphhgvlhhopegluddvjedrtddruddrudgnpdhmrghilhhfrhhomhepmhgrthhhihgvuhdrughusghoihhsqdgsrhhirghnugessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepfedprhgtphhtthhopehmrghthhhivghurdguuhgsohhishdqsghrihgrnhgusegsohhothhlihhnrdgtohhmpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgto hhmpdhrtghpthhtohephihotghtohdqphgrthgthhgvsheslhhishhtshdrhihotghtohhprhhojhgvtghtrdhorhhg X-GND-Sasl: mathieu.dubois-briand@bootlin.com List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 11 Feb 2025 14:48:43 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/1054 Builds from similar builders have to be in the same , compacting a bit the whole view. Signed-off-by: Mathieu Dubois-Briand --- yocto_console_view/src/views/ConsoleView/ConsoleView.scss | 2 +- yocto_console_view/src/views/ConsoleView/ConsoleView.tsx | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/yocto_console_view/src/views/ConsoleView/ConsoleView.scss b/yocto_console_view/src/views/ConsoleView/ConsoleView.scss index a3421d9742f0..7969b229706c 100644 --- a/yocto_console_view/src/views/ConsoleView/ConsoleView.scss +++ b/yocto_console_view/src/views/ConsoleView/ConsoleView.scss @@ -17,7 +17,7 @@ tr.bb-console-table-first-row { font-size: 1em; width: 1.5em; text-align: center; - transform: rotate(-45deg) translate(.5em, 1em); + transform: rotate(-45deg) translate(-.2em, .8em); transform-origin: bottom left; text-decoration: none; white-space: nowrap; diff --git a/yocto_console_view/src/views/ConsoleView/ConsoleView.tsx b/yocto_console_view/src/views/ConsoleView/ConsoleView.tsx index a44be811caf9..973c26424233 100644 --- a/yocto_console_view/src/views/ConsoleView/ConsoleView.tsx +++ b/yocto_console_view/src/views/ConsoleView/ConsoleView.tsx @@ -412,14 +412,17 @@ export const ConsoleView = observer(() => { const changeRows = changesToShow.map(changeInfo => { const change = changeInfo.change; - const builderColumns = buildersToShow.map(builder => { - const builds = changeInfo.buildsByBuilderId.get(builder.builderid) ?? []; + const builderColumns = builderGroups.map((builderGroup, i) => { + const builds: Build[] = []; + for (const builder of builderGroup.builders) { + const builderBuilds = changeInfo.buildsByBuilderId.get(builder.builderid) ?? [] + builds.push(...builderBuilds); + } const buildLinks = builds.map(build => ( )); - return ( - + {buildLinks} ); From patchwork Tue Feb 11 14:48:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Dubois-Briand X-Patchwork-Id: 57077 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5109DC021A0 for ; Tue, 11 Feb 2025 14:48:43 +0000 (UTC) Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by mx.groups.io with SMTP id smtpd.web11.736.1739285322041340536 for ; Tue, 11 Feb 2025 06:48:42 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=DGORN9z6; spf=pass (domain: bootlin.com, ip: 217.70.183.195, mailfrom: mathieu.dubois-briand@bootlin.com) Received: by mail.gandi.net (Postfix) with ESMTPSA id 722E6204A1; Tue, 11 Feb 2025 14:48:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1739285320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Htg2eqHjeeEZxD8j3JTkB5YHtrJSCKpp0XoySjd+WSg=; b=DGORN9z64ob2H0VliqEyMKSIfXp/hZqdkHl7anWpSd2v/envIsme4pKGQEohOMxgA7ar8N 3UMLxfvJdHTwg8m3IvxmdmXoyAxBWLjn1p/QXlcN6JNtHyicpgentWN1vmgd4Qd1lpDSPA h9ep8U7gQkDyCobR4+4HWcpKkSyzAXxngJ7yOmxgFM1nuk8exQVElEtQWEjqSTqPsC+Oej 1280PTNAab4bRQ6Rp35ZOde1w3fMp+wDcriJxN1beYGARFTwmwH119zYwL20hKr3VZ4g7T E2o8UtH9LBRJDq+Z/SsTSC03WVhk/LQcHj+hJmXOqkOJC740AtYQgRjHdklSsQ== From: Mathieu Dubois-Briand Date: Tue, 11 Feb 2025 15:48:19 +0100 Subject: [PATCH yocto-autobuilder2 2/3] yocto_console_view: Keep known revision mappings MIME-Version: 1.0 Message-Id: <20250211-mathieu-console_view_colspan-v1-2-d94a8c55acf9@bootlin.com> References: <20250211-mathieu-console_view_colspan-v1-0-d94a8c55acf9@bootlin.com> In-Reply-To: <20250211-mathieu-console_view_colspan-v1-0-d94a8c55acf9@bootlin.com> To: yocto-patches@lists.yoctoproject.org Cc: Thomas Petazzoni , Mathieu Dubois-Briand X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=ed25519-sha256; t=1739285319; l=2370; i=mathieu.dubois-briand@bootlin.com; s=20241219; h=from:subject:message-id; bh=OuXNoxCPWgbj9abT0tsVS6QDbJnwi3uBq69tBSG12vI=; b=ovLhYMv31qyY125ccWwzSy79IzvnC2vITi1BKTb/JxNVHn0MbVgjxxkerh4+GjlUQumTnDzQ/ kgNKazKN1dRBFP9B2n5qhoLXH8rs/WGjJlJfwlOuuSPu8TtCgjEk/ik X-Developer-Key: i=mathieu.dubois-briand@bootlin.com; a=ed25519; pk=1PVTmzPXfKvDwcPUzG0aqdGoKZJA3b9s+3DqRlm0Lww= X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdeguddvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpeforghthhhivghuucffuhgsohhishdquehrihgrnhguuceomhgrthhhihgvuhdrughusghoihhsqdgsrhhirghnugessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnheptdfhgeetvddvheejieehheehueetjeelkedtfeehhefgfeeglefhteegtddthfetnecukfhppedvrgdtudemtggsudegmeehheeimeejrgdttdemfehftghfmehfsgdtugemuddviedvmedvvgejieenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpedvrgdtudemtggsudegmeehheeimeejrgdttdemfehftghfmehfsgdtugemuddviedvmedvvgejiedphhgvlhhopegluddvjedrtddruddrudgnpdhmrghilhhfrhhomhepmhgrthhhihgvuhdrughusghoihhsqdgsrhhirghnugessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepfedprhgtphhtthhopehmrghthhhivghurdguuhgsohhishdqsghrihgrnhgusegsohhothhlihhnrdgtohhmpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgto hhmpdhrtghpthhtohephihotghtohdqphgrthgthhgvsheslhhishhtshdrhihotghtohhprhhojhgvtghtrdhorhhg X-GND-Sasl: mathieu.dubois-briand@bootlin.com List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 11 Feb 2025 14:48:43 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/1053 The yp_build_revision property disappears from the build instance once the build is done. There is no reason for its value to change, so keep the last seen value in revision mapping. This will prevent finished builds to jump back to "Unresolved Revision". Signed-off-by: Mathieu Dubois-Briand --- .../src/views/ConsoleView/ConsoleView.tsx | 25 +++------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/yocto_console_view/src/views/ConsoleView/ConsoleView.tsx b/yocto_console_view/src/views/ConsoleView/ConsoleView.tsx index 973c26424233..93c51b340b17 100644 --- a/yocto_console_view/src/views/ConsoleView/ConsoleView.tsx +++ b/yocto_console_view/src/views/ConsoleView/ConsoleView.tsx @@ -208,6 +208,9 @@ function selectChangeForBuild(build: Build, buildset: Buildset, return fakeChange } +const revMapping = new Map(); +const branchMapping = new Map(); + export const ConsoleView = observer(() => { const accessor = useDataAccessor([]); @@ -263,8 +266,6 @@ export const ConsoleView = observer(() => { builderIdsWithBuilds.add(build.builderid); } - const revMapping = new Map(); - const branchMapping = new Map(); for (const build of buildsQuery.array) { let change = false; let { @@ -278,26 +279,6 @@ export const ConsoleView = observer(() => { branchMapping[build.buildid] = build.properties.yp_build_branch[0]; change = true; } - if ((!revMapping[buildid] || !branchMapping[buildid]) && !build.complete_at) { - build.getProperties().onChange = properties => { - change = false; - buildid = properties.endpoint.split('/')[1]; - if (!revMapping[buildid]) { - const rev = getBuildProperty(properties[0], 'yp_build_revision'); - if (rev != null) { - revMapping[buildid] = rev; - change = true; - } - } - if (!branchMapping[buildid]) { - const branch = getBuildProperty(properties[0], 'yp_build_branch'); - if (branch != null) { - branchMapping[buildid] = branch; - change = true; - } - } - }; - } } function getBuildProperty(properties, property) { From patchwork Tue Feb 11 14:48:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Dubois-Briand X-Patchwork-Id: 57076 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 90A97C021A2 for ; Tue, 11 Feb 2025 14:48:43 +0000 (UTC) Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by mx.groups.io with SMTP id smtpd.web11.737.1739285322073187847 for ; Tue, 11 Feb 2025 06:48:42 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=HVMDA8d+; spf=pass (domain: bootlin.com, ip: 217.70.183.195, mailfrom: mathieu.dubois-briand@bootlin.com) Received: by mail.gandi.net (Postfix) with ESMTPSA id 9F13C204DC; Tue, 11 Feb 2025 14:48:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1739285320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LWZtsjvZOp09lHjnL8rddMYikdpnk9UyDoXbYZrzrc8=; b=HVMDA8d+Ze7Pysa7TcWaMtv0cERajlwamlEwnjdvxUkOac2wpKJHwJb44YaqNbC0sJLeKs tr6oQsK9f88GjqBDC9yT2G8Zm7BD0X+KKKja0LL+/Ir/Jh3kuZbBj2f/ILPpgm9xE7Fj3o Mj+eaHJX3ERXQAh90BuBa2cc1TNFMP1/E/z5nBxku4bQlFHPucnPetEJmYwfuUVIdbIsGb dTyNYljCqVo+rAUOp3bCQ9gFz8N+s8lFX0aoAk1F2jHWFsxoehTcMYGZ27Mt7SRpkXqR/r 4JSTilzitHYvJmqU/Em5V6VcnV9G3Ew7KW6Bvni2PjJwQiAS/tgRPyKcQEQoqA== From: Mathieu Dubois-Briand Date: Tue, 11 Feb 2025 15:48:20 +0100 Subject: [PATCH yocto-autobuilder2 3/3] yocto_console_view: Fix output link on valkyrie MIME-Version: 1.0 Message-Id: <20250211-mathieu-console_view_colspan-v1-3-d94a8c55acf9@bootlin.com> References: <20250211-mathieu-console_view_colspan-v1-0-d94a8c55acf9@bootlin.com> In-Reply-To: <20250211-mathieu-console_view_colspan-v1-0-d94a8c55acf9@bootlin.com> To: yocto-patches@lists.yoctoproject.org Cc: Thomas Petazzoni , Mathieu Dubois-Briand X-Mailer: b4 0.14.1 X-Developer-Signature: v=1; a=ed25519-sha256; t=1739285319; l=1145; i=mathieu.dubois-briand@bootlin.com; s=20241219; h=from:subject:message-id; bh=qEL5bY3gb/e8qoBXQTbPp6P3JsQ9m6mcpTqiKSpsAbU=; b=01nOSiFlCpfW9jNdSi99Muhgtg4uAMOKY5Z1cmRkRXaICOJJI8hmJbyQ8H1QpF1EjX/ihPMrG 5Kw6syk0D8tBZ9bzV9Y2ip+CB8Fz4lIFB8WeBfUskXJ03mpf/3OtoB9 X-Developer-Key: i=mathieu.dubois-briand@bootlin.com; a=ed25519; pk=1PVTmzPXfKvDwcPUzG0aqdGoKZJA3b9s+3DqRlm0Lww= X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdeguddvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpeforghthhhivghuucffuhgsohhishdquehrihgrnhguuceomhgrthhhihgvuhdrughusghoihhsqdgsrhhirghnugessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepheegudeiiedujedvhfdvueeugfeghffghfefhfdthfetffefvdeuhfduudfgkefgnecuffhomhgrihhnpeihohgtthhophhrohhjvggtthdrohhrghdphihotghtohdrihhonecukfhppedvrgdtudemtggsudegmeehheeimeejrgdttdemfehftghfmehfsgdtugemuddviedvmedvvgejieenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpedvrgdtudemtggsudegmeehheeimeejrgdttdemfehftghfmehfsgdtugemuddviedvmedvvgejiedphhgvlhhopegluddvjedrtddruddrudgnpdhmrghilhhfrhhomhepmhgrthhhihgvuhdrughusghoihhsqdgsrhhirghnugessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepfedprhgtphhtthhopehmrghthhhivghurdguuhgsohhishdqsghrihgrnhgusegsohhothhlihhnrdgtohhmp dhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtohephihotghtohdqphgrthgthhgvsheslhhishhtshdrhihotghtohhprhhojhgvtghtrdhorhhg X-GND-Sasl: mathieu.dubois-briand@bootlin.com List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 11 Feb 2025 14:48:43 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/1055 Signed-off-by: Mathieu Dubois-Briand --- yocto_console_view/src/views/ConsoleView/ConsoleView.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/yocto_console_view/src/views/ConsoleView/ConsoleView.tsx b/yocto_console_view/src/views/ConsoleView/ConsoleView.tsx index 93c51b340b17..a1a338684fd6 100644 --- a/yocto_console_view/src/views/ConsoleView/ConsoleView.tsx +++ b/yocto_console_view/src/views/ConsoleView/ConsoleView.tsx @@ -191,6 +191,7 @@ function selectChangeForBuild(build: Build, buildset: Buildset, if (build.properties !== null && ('publish_destination' in build.properties)) { change.change.publishurl = build.properties['publish_destination'][0].replace("/srv/autobuilder/autobuilder.yoctoproject.org/", "https://autobuilder.yocto.io/"); change.change.publishurl = change.change.publishurl.replace("/srv/autobuilder/autobuilder.yocto.io/", "https://autobuilder.yocto.io/"); + change.change.publishurl = change.change.publishurl.replace("/srv/autobuilder/valkyrie.yocto.io/", "https://valkyrie.yocto.io/"); } }