From nobody Thu Oct 30 23:09:16 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=bugseng.com); dmarc=pass(p=none dis=none) header.from=bugseng.com ARC-Seal: i=2; a=rsa-sha256; t=1751902151; cv=pass; d=zohomail.com; s=zohoarc; b=SEtXnai2hUZQTylpZcWqtR8ME1YdFcI+GMJpzDa21VZUNGdeLGrJd8aTd/ZJAFnS5FzmoPVZbc+bIZ3bjVozObkc3ixi74SPXj18F6UIAT+7MKzW7EIPrvGowiHxBCbsRQD2ZA8Vik/zDQ1svTebSWnxTOSthYHPkrCsPHcT+8E= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751902151; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=oSIkMz3s9+9rEityjsxTdpf286Hj35+frJA/Tdc4LO4=; b=KdPECxSkWL0BaY1LZDYsSSouev6qiucABGtEsPNptvyFlUNH4v3+b3TQFOxXvKfVelyl2hzaa1POGQsCd4iguCtzvrTfKv+Rn7VHoyYH8OT62t3PTVuDGAiEYt7L0D66upNEgS7PHvCjXthsmY8TDeceJYlq4lIVlsX93Ybe0fM= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=bugseng.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1751902151061699.2124288174837; Mon, 7 Jul 2025 08:29:11 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1035669.1408018 (Exim 4.92) (envelope-from ) id 1uYnlu-000301-Sy; Mon, 07 Jul 2025 15:28:46 +0000 Received: by outflank-mailman (output) from mailman id 1035669.1408018; Mon, 07 Jul 2025 15:28:46 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uYnlu-0002zu-Pw; Mon, 07 Jul 2025 15:28:46 +0000 Received: by outflank-mailman (input) for mailman id 1035669; Mon, 07 Jul 2025 15:28:44 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uYnls-0002zo-CZ for xen-devel@lists.xenproject.org; Mon, 07 Jul 2025 15:28:44 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 0db0a7b6-5b47-11f0-b894-0df219b8e170; Mon, 07 Jul 2025 17:28:38 +0200 (CEST) Received: from nico.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) (Authenticated sender: nicola) by support.bugseng.com (Postfix) with ESMTPSA id 323444EE9BBE; Mon, 7 Jul 2025 17:28:34 +0200 (CEST) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 0db0a7b6-5b47-11f0-b894-0df219b8e170 Authentication-Results: bugseng.com; arc=none smtp.remote-ip=79.60.221.62 ARC-Seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1751902117; b=EgEt/UfLQYieGKWIJW513MTyUiPUzjyk0klfBf2g+x5VIe/26Y+TOSGet0UoKhj6dYBK zM+KqL0GYZC/ULbKy5Na+YoMGYpzwaVLp9boI+5lrGVJEFj1fBnPN735TfZPfL9ruSClD +O3YPkq4/qacVOpF/qbUSa+YlTHxfssnxQx3ehOPX8HRn5ZPkaLw11elckLa0sIe+xxM8 1Ka9DO/5Y2vxn7sENLBR/+MMK57ESsHaZboCbfCKjDX2dgykli9pl/06FCJlnvPW6Z42Q zWzY5JBSFXTj/xzE6wSH3slD/CX26AM+oW2QCA5GGycbKSNrQFP88RxWX3PdZhzwWjCEd UpPV+yQ075LR0E3jgDZkl5kwnSbzjJxdiftlyLkOqirrg4SiYrMXik/90px4X8Isjczh1 u62UKvJB+12M7FNu+XqvgZilmCgPfPqks5/EkJoVVcCP0s7ohQsukYSqNzGw8kgywNa7m iBvrxys3vuuJF2YaXo8u5dlmtwTcqbbgC1pgUSowy9EWRgPSXRrCcCgASAMXWmPKVl0sR gkur1vqRocpuHxDOxAVuzixuBB/KRR5X3zNvKU5aCdGCRJ35JVE4SuQfJx3I/hsgGz2qc iSs92UdpUMUactck1tx7aD43PwCTLEji7CFz36wR+wX3U+EDGUv9wu0x8/3G4n0= ARC-Message-Signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; c=relaxed/relaxed; t=1751902117; h=DKIM-Signature:From:To:Cc:Subject:Date:Message-ID:X-Mailer: MIME-Version:Content-Transfer-Encoding; bh=oSIkMz3s9+9rEityjsxTdpf286Hj35+frJA/Tdc4LO4=; b=VAM+/OA2G+O/ewvKNeU6T2WBwo/K6vsN/HHZ3J3z1KZk2VOXwDHB0T/pLM86ZbC4xfig 4xg1y4Yc9WthUpfNFaOFVIPmk/hcFfI8H1fP8vpg4/O2UQAqBLds6VhbJwqEaeDEK12i8 D111YVehBSjnx34tHlIYdjyvIxj8rmgoK69sp6K7gg/HzxJLJ7tzH4W3cRnGvU64ET/xf Ntar49Yp/att6X5n/zHfV3HudovMopMEf0FEJtqLkaRfNgO1Cg1mCCQHU7igPM7IcjMbp zi24Lrf/HSusYwqT5GXA0pTPwliLPOj8GVGLEhPCEliPGkVxLZ44gP6rmEx8pvqTt7iEB YwdJ9VeYxUAUtD14KK+EgXxi0mxwizlcaDmi9x47IxN/DM0LDYA5YpSP1jFHf4V6cmb9F VCDzl33oHUah4/5vn6ThN4oQ3yOMqK3wbI5BNguxKLktLgsUGoQBa8HdzSB2DTQuh7opr 7nF1Rbnx5SKRJc6nwygVZpKZmheDHQq+Qg8Rfyt959oQUUSMdYjZ93Fx2WaWeNx7qN88C GJ1NBEUbtLICfABBLsEpxgLUkxagqeyRUMDMphSQGPahihfn8sJtOt4lCOkd/Ba/SXJlF ijQi9jJijTJm/WoyTVuLG+x+B5ujEX2JEAL5iV3/skyUIVC/rtXz5RNi3tkeq5E= ARC-Authentication-Results: i=1; bugseng.com; arc=none smtp.remote-ip=79.60.221.62 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail; t=1751902117; bh=rSdAjcJzz/I85k/ESRNptGN720P21uugul2ZZZqbN+o=; h=From:To:Cc:Subject:Date:From; b=RWWs82dWBsupl12/xm7P70fTPbfOCdI06p3BAE+r2j/WSw/lf+QNFjUlaWsUWcTc8 quiGjgoEs9IHwnZbtt+oeXDYv6dxsXWNaDV3RK+NKirg1cGpiJ/W4m3nTImHllanUh ZzBxcgwJNfryXrl1djMEtBzGvs0kTbk4pblDcBbJaOPKUCF/t/gdYe+0HSXKBnJz+N XGlzYtVn8uHCNKkNnR+1pZoPJL/HdlwXu5P4CDOdK+vLLEgPkwg1joHeMgcu5W5+sp RcaGGW5r7F7VhFIUAZBczzaQwHqmGA3Uy/WPJzx8xt1urY8Y5YeIOKnIIYyADLbGbq sC/dmd4DZwbag== From: Nicola Vetrini To: xen-devel@lists.xenproject.org Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com, Nicola Vetrini , Doug Goldstein , Anthony Perard , Alessandro Zucchelli Subject: [XEN PATCH v2] automation/eclair: Make report browsing URL configurable. Date: Mon, 7 Jul 2025 17:28:26 +0200 Message-ID: X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @bugseng.com) X-ZM-MESSAGEID: 1751902153801116600 Content-Type: text/plain; charset="utf-8" Currently, the URL where the ECLAIR MISRA C scan reports are saved is hardcoded; making it configurable allows multiple runners and storage servers to be used without resorting to publishing all artifacts to the same report server. Additionally, reports will be accessed publicly by using a proxy, therefore the address that needs to be printed in GitLab analysis logs is that of the public url, rather than the location where they are stored. Signed-off-by: Alessandro Zucchelli Signed-off-by: Nicola Vetrini Reviewed-by: Anthony PERARD --- Changes in V2: - Use single variable for eclair_report host and port - Introduced variable in analyze.yaml for the public url used in logs This needs to be committed in coordination with setting up the proxy indicated in analyze.yaml --- .../eclair_analysis/ECLAIR/action.helpers | 10 +++---- .../eclair_analysis/ECLAIR/action.settings | 30 ++++++++++++++----- automation/gitlab-ci/analyze.yaml | 3 ++ 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/automation/eclair_analysis/ECLAIR/action.helpers b/automation/= eclair_analysis/ECLAIR/action.helpers index 9d4ae1f979f6..3a4c9d2b2855 100644 --- a/automation/eclair_analysis/ECLAIR/action.helpers +++ b/automation/eclair_analysis/ECLAIR/action.helpers @@ -58,7 +58,7 @@ summary() { ;; esac =20 - currentDbReportsUrl=3D"${eclairReportUrlPrefix}/fs${jobDir}/PROJECT.ec= d;/by_service.html#service&kind" + currentDbReportsUrl=3D"${eclairResultsUrl}/fs${jobDir}/PROJECT.ecd;/by= _service.html#service&kind" if [ -z "${newReports}" ]; then fixedMsg=3D"No fixed reports as there is no baseline" unfixedMsg=3D"Unfixed reports: ${unfixedReports}" @@ -69,11 +69,11 @@ summary() { unfixedMsg=3D"Unfixed reports: ${unfixedReports} [new: ${newReport= s}]" case "${event}" in pull_request | auto_pull_request) - referenceDbReportsUrl=3D"${eclairReportUrlPrefix}/fs${jobDir}/= base/PROJECT.ecd;/by_service.html#service&kind" + referenceDbReportsUrl=3D"${eclairResultsUrl}/fs${jobDir}/base/= PROJECT.ecd;/by_service.html#service&kind" reference_kind=3Dbase ;; push) - referenceDbReportsUrl=3D"${eclairReportUrlPrefix}/fs${jobDir}/= prev/PROJECT.ecd;/by_service.html#service&kind" + referenceDbReportsUrl=3D"${eclairResultsUrl}/fs${jobDir}/prev/= PROJECT.ecd;/by_service.html#service&kind" reference_kind=3Dprevious ;; *) @@ -92,7 +92,7 @@ summary() { ${fixedMsg}${eol} ${unfixedMsg} = ${eol} - +

${jobHeadline}

Browse analysis summary @@ -106,7 +106,7 @@ EOF fi cat <"${summaryTxt}" - + Analysis Summary =20 diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation= /eclair_analysis/ECLAIR/action.settings index 1577368b613b..a9904377252a 100644 --- a/automation/eclair_analysis/ECLAIR/action.settings +++ b/automation/eclair_analysis/ECLAIR/action.settings @@ -14,9 +14,6 @@ autoPRRepository=3D"${AUTO_PR_REPOSITORY:-}" # Customized autoPRBranch=3D"${AUTO_PR_BRANCH:-}" =20 -# Customized -artifactsRoot=3D/var/local/eclair - case "${ci}" in github) # To be customized @@ -166,16 +163,35 @@ esac =20 ECLAIR_BIN_DIR=3D/opt/bugseng/eclair/bin/ =20 -artifactsDir=3D"${artifactsRoot}/xen-project.ecdf/${repository}/ECLAIR_${A= NALYSIS_KIND}" +# Artifacts URL served by the eclair_report server +if [ -z "${ECLAIR_ECDF_DIR}" ] +then + echo "WARNING: No ecdf dir supplied, using default" +fi +artifactsEcdfDir=3D"${ECLAIR_ECDF_DIR:-/var/local/eclair/xen-project.ecdf}" +artifactsDir=3D"${artifactsEcdfDir}/${repository}/ECLAIR_${ANALYSIS_KIND}" subDir=3D"${subDir}${variantSubDir}" jobHeadline=3D"${jobHeadline}${variantHeadline}" =20 -# Customized -eclairReportUrlPrefix=3Dhttps://saas.eclairit.com:3787 +# Remote eclair_report hosting server +if [ -z "${ECLAIR_REPORT_HOST}" ] +then + echo "WARNING: No eclair_report host supplied, using default" +fi + +# URL to browse eclair reports +if [ -z "${ECLAIR_ANALYSIS_RESULTS}" ] +then + echo "WARNING: No URL to browse analysis results is set, using default" +fi + +eclairReportHost=3D"${ECLAIR_REPORT_HOST:-saas.eclairit.com:3787}" +eclairReportUrlPrefix=3D"https://${eclairReportHost}" +eclairResultsUrl=3D"${ECLAIR_ANALYSIS_RESULTS:-${eclairReportUrlPrefix}}" =20 jobDir=3D"${artifactsDir}/${subDir}/${jobId}" updateLog=3D"${analysisOutputDir}/update.log" cleanRegressionsLog=3D"${analysisOutputDir}/clean_regressions.log" commentLog=3D"${analysisOutputDir}/comment.json" -indexHtmlUrl=3D"${eclairReportUrlPrefix}/fs${jobDir}/index.html" +indexHtmlUrl=3D"${eclairResultsUrl}/fs${jobDir}/index.html" summaryTxt=3D"${analysisOutputDir}/summary.txt" diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analy= ze.yaml index 5b00b9f25ca6..9cec0f65a439 100644 --- a/automation/gitlab-ci/analyze.yaml +++ b/automation/gitlab-ci/analyze.yaml @@ -8,7 +8,10 @@ ENABLE_ECLAIR_BOT: "n" AUTO_PR_BRANCH: "staging" AUTO_PR_REPOSITORY: "xen-project/xen" + ECLAIR_ANALYSIS_RESULTS: "https://eclair-analysis-logs.xenproject.org" script: + - export ECLAIR_ECDF_DIR + - export ECLAIR_REPORT_HOST - ./automation/scripts/eclair 2>&1 | tee "${LOGFILE}" artifacts: when: always --=20 2.43.0