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