public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael Kubacki" <mikuback@linux.microsoft.com>
To: devel@edk2.groups.io, michael.d.kinney@intel.com,
	"spbrogan@outlook.com" <spbrogan@outlook.com>,
	"rebecca@bsdio.com" <rebecca@bsdio.com>,
	Ard Biesheuvel <ardb+tianocore@kernel.org>,
	"Yao, Jiewen" <jiewen.yao@intel.com>,
	"Justen, Jordan L" <jordan.l.justen@intel.com>,
	Gerd Hoffmann <kraxel@redhat.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>,
	"Gao, Liming" <gaoliming@byosoft.com.cn>
Subject: Re: [edk2-devel] OvmfPkg PlatformCI: Should iasl dependency be updated from 20190215.0.0 ?
Date: Thu, 4 May 2023 22:17:19 -0400	[thread overview]
Message-ID: <59fc37f5-af65-5578-4b19-315a23edd101@linux.microsoft.com> (raw)
In-Reply-To: <CO1PR11MB492985E25A3E0DCB31178663D26D9@CO1PR11MB4929.namprd11.prod.outlook.com>

Hi Mike,

If I understand correctly, yes. For example, that's how we're pulling 
the CodeQL CLI from the codeql-cli-binaries repo here:

https://github.com/microsoft/mu_basecore/blob/release/202208/.pytool/Plugin/CodeQL/codeqlcli_ext_dep.yaml

If a repo (like a fork) needs to build and publish a tagged release, the 
files can be attached to the release from either a pipeline (using 
something like the GitHub REST API) or a GitHub workflow (using the 
GitHub CLI pre-installed on agents) with a command like gh release 
upload - https://cli.github.com/manual/gh_release_upload.

For example, we have pipelines that apply semantic versioning and upload 
release artifacts as zip files to the GitHub release:

https://github.com/microsoft/mu_tiano_platforms/releases

- Michael

On 5/4/2023 1:21 PM, Michael D Kinney wrote:
> Sean,
> 
> Can a GitHub release area for each dependency be used as an alternative 
> to nuget?
> 
> Mike
> 
> *From:* devel@edk2.groups.io <devel@edk2.groups.io> *On Behalf Of *Sean
> *Sent:* Wednesday, May 3, 2023 12:51 PM
> *To:* devel@edk2.groups.io; rebecca@bsdio.com; Ard Biesheuvel 
> <ardb+tianocore@kernel.org>; Yao, Jiewen <jiewen.yao@intel.com>; Justen, 
> Jordan L <jordan.l.justen@intel.com>; Gerd Hoffmann <kraxel@redhat.com>
> *Cc:* Sean Brogan <sean.brogan@microsoft.com>; Michael Kubacki 
> <mikuback@linux.microsoft.com>; Kinney, Michael D 
> <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> *Subject:* Re: [edk2-devel] OvmfPkg PlatformCI: Should iasl dependency 
> be updated from 20190215.0.0 ?
> 
> Rebecca,
> 
> I agree the iasl dependency for CI has not been managed consistently.   
> When all of the CI was setup we decided that iasl should be controlled 
> by the platform and thus EmulatorPkg, ArmVirt, and OVMF have their own 
> extdep.  This gives those platforms control to rev their version as 
> necessary for their platform.   We have found it very common in platform 
> development for platforms to have different required versions of iasl.exe.
> 
> For Core CI (meaning just package builds) we managed iasl in Basetools.  
> We decided that this would only need to be updated when newer features 
> were used by core components (not very often given the very little ASL 
> in edk2 tree).
> 
> As for the feed.  Yes they are inconsistent.   We were moving away from 
> a global nuget.org feed as it just didn't seem necessary to push to 
> nuget.org.  But now we are evaluating ways to move entirely away from 
> nuget.  Nuget.exe worked pretty well for Windows development and our 
> initial use cases but has definitely created a headache on Linux, MacOS 
> and other.  There really isn't a generic package management solution 
> that is supported cross platform that has free/high quality/secure 
> hosting.  If anyone has ideas please share.
> 
> So my suggestion is to hold off for a couple of weeks (unless something 
> is broken) and lets see if we can use web downloads from github 
> releases.  This should still allow consistency with tools, work cross 
> platform, and give the flexibility needed per platform.
> 
> Regarding the steps in that document.  In that example it doesn't call 
> out all the steps needed as that would just rehash the section before.  
> Instead it relies on a user having followed the generic steps in the 
> section above (How to Build With Stuart · tianocore/tianocore.github.io 
> Wiki 
> <https://github.com/tianocore/tianocore.github.io/wiki/How-to-Build-With-Stuart#how-to-build-in-edk2-with-stuart>).  For example the user would need to have also done:  setup python virtual env, install pypi dependencies, and clone source + submodules.
> 
> Thanks
> 
> Sean
> 
> On 5/3/2023 12:34 PM, Rebecca Cran wrote:
> 
>     I noticed OvmfPkg/PlatformCI/iasl_ext_dep.yaml specifies iasl
>     version 20190215.0.0 while BaseTools/Bin/iasl_ext_dep.yaml has the
>     newer 20200717.0.0, and "mono .../edk2toolext/bin/NuGet.exe list
>     -Source
>     https://pkgs.dev.azure.com/projectmu/acpica/_packaging/mu_iasl/nuget/v3/index.json <https://pkgs.dev.azure.com/projectmu/acpica/_packaging/mu_iasl/nuget/v3/index.json>" shows there's version 20210105.0.6 available.
> 
> 
>     Though OvmfPkg is using source https://api.nuget.org/v3/index.json
>     <https://api.nuget.org/v3/index.json> while BaseTools uses
>     https://pkgs.dev.azure.com/projectmu/acpica/_packaging/mu_iasl/nuget/v3/index.json <https://pkgs.dev.azure.com/projectmu/acpica/_packaging/mu_iasl/nuget/v3/index.json> - I don't know why they're different.
> 
> 
>     I was wondering if iasl_ext_dep.yaml should be updated?
> 
> 
>     Also, the example in
>     https://github.com/tianocore/tianocore.github.io/wiki/How-to-Build-With-Stuart <https://github.com/tianocore/tianocore.github.io/wiki/How-to-Build-With-Stuart> of using stuart_build to build OVMF seems to be missing a step: running "stuart_update -c PlatformBuild.py TOOL_CHAIN_TAG=GCC5 -a X64" appears to be required otherwise stuart_build will complain that the iasl dependency hasn't been met.
> 
> 

      reply	other threads:[~2023-05-05  2:17 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-03 19:34 OvmfPkg PlatformCI: Should iasl dependency be updated from 20190215.0.0 ? Rebecca Cran
2023-05-03 19:50 ` [edk2-devel] " Sean
2023-05-03 20:06   ` Rebecca Cran
2023-05-04  5:56   ` Gerd Hoffmann
2023-05-05  3:13     ` Sean
2023-05-04 17:21   ` Michael D Kinney
2023-05-05  2:17     ` Michael Kubacki [this message]

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=59fc37f5-af65-5578-4b19-315a23edd101@linux.microsoft.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