public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Sean" <spbrogan@outlook.com>
To: devel@edk2.groups.io, rebecca@nuviainc.com
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: [edk2-devel] Ecc style errors when running EDK2 CI locally without specifying a target (NO-TARGET)
Date: Wed, 30 Sep 2020 17:59:13 -0700	[thread overview]
Message-ID: <BN8PR07MB696207D1C04507C13F3F4A05C8300@BN8PR07MB6962.namprd07.prod.outlook.com> (raw)
In-Reply-To: <0b04d303-655f-7f4e-88b6-d63268fe234f@nuviainc.com>

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.
> 
> 

  reply	other threads:[~2020-10-01  0:59 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 ` Sean [this message]
2020-10-01  2:25   ` [EXTERNAL] Re: [edk2-devel] " Rebecca Cran
2020-10-01 11:43     ` 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=BN8PR07MB696207D1C04507C13F3F4A05C8300@BN8PR07MB6962.namprd07.prod.outlook.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