From: "Rebecca Cran" <rebecca@nuviainc.com>
To: Sean Brogan <spbrogan@outlook.com>, devel@edk2.groups.io
Cc: Sean Brogan <sean.brogan@microsoft.com>,
Bret Barkelew <Bret.Barkelew@microsoft.com>,
Liming Gao <gaoliming@byosoft.com.cn>,
Michael D Kinney <michael.d.kinney@intel.com>
Subject: Re: [EXTERNAL] Re: [edk2-devel] Ecc style errors when running EDK2 CI locally without specifying a target (NO-TARGET)
Date: Wed, 30 Sep 2020 19:25:03 -0700 [thread overview]
Message-ID: <2b285a3e-c665-e203-3ac3-c006dd017f2b@nuviainc.com> (raw)
In-Reply-To: <BN8PR07MB696207D1C04507C13F3F4A05C8300@BN8PR07MB6962.namprd07.prod.outlook.com>
Ah, thanks. I made a wrong assumption about how it works. So I can get
it to fail faster by running "stuart_ci_build -c .pytool/CISettings.py
TOOL_CHAIN_TAG=GCC5 -t NO-TARGET" - i.e. running NO-TARGET without also
running DEBUG,RELEASE,NOOPT too.
It turns out that because of the repo I'm running it against, where I
haven't kept `master` up-to-date, it thinks almost all the files have
changed - and so it runs Ecc against code that hasn't really changed for
a long time.
"INFO - Cmd to run is: git diff --name-status HEAD origin/master"
So, now I've updated my repo's `master`, it both runs much faster, and
succeeds.
A weekly build which runs Ecc over all the code and compiles a report of
issues might be nice.
--
Rebecca Cran
On 9/30/20 5:59 PM, Sean Brogan wrote:
> Not sure i follow your first question but running without a "-t"
> specified at the command line and "-t NO-TARGET" is two different
> things. For edk2 ci you can see the CISettings.py file defines
> targets supported as a tuple of all 4 ("DEBUG", "RELEASE",
> "NO-TARGET", "NOOPT").
> https://github.com/tianocore/edk2/blob/master/.pytool/CISettings.py#L72
>
> and you can see that if the cli parameter for target is empty then the
> value is assigned to whatever is declared as supported.
> https://github.com/tianocore/edk2-pytool-extensions/blob/master/edk2toolext/invocables/edk2_multipkg_aware_invocable.py#L121
>
>
> By creating a specific target "NO-TARGET" we could easily
> enable/disable their execution and thus we could control it in the
> matrix on the CI servers. Example here:
> https://github.com/tianocore/edk2/blob/master/.azurepipelines/templates/pr-gate-build-job.yml#L32
>
>
>
> Most of the static code tests run for NO-TARGET. ECC is such a test
> so it only runs when NO-TARGET is run.
>
> Finally please be aware EccCheck runs git commands and can change your
> local workspace. This was something i recently learned and should
> probably be revisited as it means running it locally can be
> destructive to changes you don't yet have committed.
>
> Hope that helps.
>
> Thanks
> Sean
>
>
>
>
>
>
>
> On 9/30/2020 2:59 PM, Rebecca Cran wrote:
>> Is it expected that the EDK2 CI run without errors in NO-TARGET mode
>> - that is, when "-t" isn't specified?
>>
>> When I run it locally with "stuart_ci_build -c .pytool/CISettings.py
>> TOOL_CHAIN_TAG=GCC5 -a X64,AARCH64" I get lots of errors: one in
>> ArmVirtPkg/PrePi/PrePi.c about a missing comment above a function,
>> and then loads in DynamicTablesPkg - e.g.:
>>
>> PROGRESS - --Running ArmVirtPkg: EccCheck Test NO-TARGET --
>>
>> ERROR -
>> ERROR - EFI coding style error
>> ERROR - *Error code: 8003
>> ERROR - *The #ifndef at the start of an include file should use both
>> prefix and postfix underscore characters, '_'
>> ERROR - *file: .../edk2/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
>> ERROR - *Line number: 41
>> ERROR - *The #ifndef name [AML_HANDLE] does not follow the rules
>> ERROR -
>>
>>
>> When I specify "-t DEBUG,RELEASE,NOOPT" it completes successfully.
>>
>>
next prev parent reply other threads:[~2020-10-01 2:25 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-30 21:59 Ecc style errors when running EDK2 CI locally without specifying a target (NO-TARGET) Rebecca Cran
2020-10-01 0:59 ` [edk2-devel] " Sean
2020-10-01 2:25 ` Rebecca Cran [this message]
2020-10-01 11:43 ` [EXTERNAL] " Laszlo Ersek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2b285a3e-c665-e203-3ac3-c006dd017f2b@nuviainc.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox