[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] automation: Add container and build jobs to run cppcheck analysis


  • To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Michal Orzel <michal.orzel@xxxxxxx>
  • Date: Tue, 14 Feb 2023 12:45:35 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jYDc+mUefrW5wVVo1lGmP39AeBi87Kp9+9ZCKAA3JnM=; b=E5kYEutvtDjAyIMwqIB3FlHmlich9NCDQ6G3E+0X3Q4GiJMjS+H1OB7PaG4JheB2TLL9P31UQlWP7GZlsLeyeEDNGxVa/9Ce0q1UQ4CDTH5jdBa8721dBtI28Lh82mBTgmN1f5yYKAqyKZ9O/Y2PcGLB9I3gfy8uxbI7jR2eoJV878Vxhn/MzCkRtYQWAfoFoVSb/1eJVNBMmgvkwXD3VA4PzmCZrMkBMGO8uOVFuLSdWOX/UY2HsVjIig1tHBCYG381ZdWuGQo5BqsxZlAFu2IEC1tk8t5MnZAe7SgrL5U4RIs1TYp6Gz0kNaTubwaW7Rrp31Nn/jDqYGX7Guef9A==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XtYbk6SKuPuNRGFYr3Eww207IX4Bx8LDR0lESJdO4BLpw3wkLwELjP31BWKDE969RM6RH/Xxh8G9n/fG1b9AzLhOenm4jHpJe2Fn2PA+iKd7lFKBH1vHqU4kbZA7uF2a23Bue7QMk2p1Wr1hjvKvhnZB24sGPW/qer5SCnNVcL9W62PUTRzXL+cRavhSMlC845KYmY3xLRsFHv+QW9c+RuugwLbHUYU+LW0D6Ulu4PaXcPrktty5ZEv9XnlvpZ6hYFvVG33LLSMcVj7o3sLwuOcIWTsAz6ct0ITV51obKnRQ1FsscN4hhto/M8iSVBsdVMpejDUsvpe3wp9zYKKWZg==
  • Cc: Doug Goldstein <cardoe@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • Delivery-date: Tue, 14 Feb 2023 11:46:01 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Hi Andrew,

On 14/02/2023 12:00, Andrew Cooper wrote:
> 
> 
> On 13/02/2023 2:23 pm, Michal Orzel wrote:
>> Add a debian container with cppcheck installation routine inside,
>> capable of performing cppcheck analysis on Xen-only build including
>> cross-builds for arm32 and arm64.
>>
>> Populate build jobs making use of that container to run cppcheck
>> analysis to produce a text report (xen-cppcheck.txt) containing the list
>> of all the findings.
>>
>> This patch does not aim at performing any sort of bisection. Cppcheck is
>> imperfect and for now, our goal is to at least be aware of its reports,
>> so that we can compare them with the ones produced by better tools and
>> to be able to see how these reports change as a result of further
>> infrastructure improvements (e.g. exception list, rules exclusion).
>>
>> Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx>
>> ---
>> For those interested in, here is a sample pipeline:
>> https://gitlab.com/xen-project/people/morzel/xen-orzelmichal/-/pipelines/775769167
>> ---
>>  .../build/debian/unstable-cppcheck.dockerfile | 37 +++++++++++++++++
>>  automation/gitlab-ci/build.yaml               | 40 +++++++++++++++++++
>>  automation/scripts/build                      | 11 ++++-
> 
> I'm afraid that I'm going to start pushing back on any more x86 jobs.
> 
> We're already at several hours to get a run out of Gitlab CI, and that's
> assuming none of them hit networking issues, and outside of the typical
> European working day, when patchew is busy churning and not reporting
> the status back.
> 
> Right now, there is vastly more ARM test resource than x86 resource, as
> evidence by the fact that you're never waiting more than a few minutes
> for the actually-ARM tests to complete, so adding more x86 cross
> compiles is compounding the problem.
> 
> We need less x86 testing, or more x86 resource.  Probably both, because
> its now so long that even I'm not using it as a pre-push gate on all
> changes.

I'm aware of the problem you described. AFAICT there is nothing stopping us
from switching completely the arm32 cross builds from x86 to arm64 container.
It is just a matter of creating identical container to unstable-arm32-gcc
e.g. unstable-arm64v8-arm32-gcc and using FROM arm64v8/debian:unstable.
We need to keep the old container for backwards compatibility.

This way, x86 runners will only do x86 stuff + riscv64.

Are you aware of anything preventing us to do so?
If not, I will push a prereq patch to switch the arm32 cross build to arm64.

> 
> ~Andrew

~Michal



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.