-
Notifications
You must be signed in to change notification settings - Fork 437
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Core tools changes to support .NET8 in-proc #3680
Conversation
* Handling net8 artifact generation for min versions of artifacts (used in VS feed) * Optimizing TestPreSignedArtifacts method. * Zipping _net8.0 artifacts and other cleanups
@khkh-ms Please review. |
/// <summary> | ||
/// Check local.settings.json to determine whether in-proc .NET8 is enabled. | ||
/// </summary> | ||
private async Task<bool> IsInProcNet8Enabled() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Core Tools already populates this along the way through the globals, etc. And that will respond to, for example, environment variables as well, which I think we should support for this. Should we just leverage the common mechanism?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will take a look.
… new test for unsupported use case.
@khkh-ms Please review |
This reverts commit bb9191a.
Pack only when targetFramework == net6.0
* .NET8 Inproc support for host start action. (#3670) * Zip generation updates for Inproc8 * Handling net8 artifact generation for min versions of artifacts (used in VS feed) * Optimizing TestPreSignedArtifacts method. * Zipping _net8.0 artifacts and other cleanups * Publish --self-contained (#3673) * updating template reference for core tools (#3675) * Moved log messages behind "Verbose" logging enabled check. Minor refactoring * Adding a test for .NET8 inproc * Update Microsoft.Azure.WebJobs.Script.WebHost to 4.834.2 * Minor cleanup * Publishing net8 bits as self-contained. Reordering of some code snippets to fix failing test. * Updating tests to reflect recent text changes. * Generating "_net8.0.zip" for all artifacts (previously only for ".min" ones) * Reordered supported target framework list as per PR feedback. Added a new test for unsupported use case. * Changes based on PR feedback * Fixed a test to reflect revised exception message change * Adding `--no-build` in "DotnetPack" step * Revert "Adding `--no-build` in "DotnetPack" step" This reverts commit bb9191a. * Added back `--no-build` flag for pack. Pack only when targetFramework == net6.0 --------- Co-authored-by: Naren Soni <soninaren@users.noreply.github.com>
* .NET8 Inproc support for host start action. (#3670) * Zip generation updates for Inproc8 * Handling net8 artifact generation for min versions of artifacts (used in VS feed) * Optimizing TestPreSignedArtifacts method. * Zipping _net8.0 artifacts and other cleanups * Publish --self-contained (#3673) * updating template reference for core tools (#3675) * Moved log messages behind "Verbose" logging enabled check. Minor refactoring * Adding a test for .NET8 inproc * Update Microsoft.Azure.WebJobs.Script.WebHost to 4.834.2 * Minor cleanup * Publishing net8 bits as self-contained. Reordering of some code snippets to fix failing test. * Updating tests to reflect recent text changes. * Generating "_net8.0.zip" for all artifacts (previously only for ".min" ones) * Reordered supported target framework list as per PR feedback. Added a new test for unsupported use case. * Changes based on PR feedback * Fixed a test to reflect revised exception message change * Adding `--no-build` in "DotnetPack" step * Revert "Adding `--no-build` in "DotnetPack" step" This reverts commit bb9191a. * Added back `--no-build` flag for pack. Pack only when targetFramework == net6.0 --------- Co-authored-by: Naren Soni <soninaren@users.noreply.github.com>
* Add Event Grid Blob trigger (#3647) * Add Event Grid Blob trigger * Fix short name * Update version * Remove version update for TemplateJsonVersion * Fix typo * adding core mirroring yml (#3678) * Fixed typo (#3661) Co-authored-by: Danny Furnivall <danielfurnivall@gmail.com> * Add hard-coded Node templates for EventGrid Blob trigger (#3683) * Add Event Grid Blob trigger * Fix short name * Add Event Grid Blob trigger * .NET8 in-proc support (#3680) * .NET8 Inproc support for host start action. (#3670) * Zip generation updates for Inproc8 * Handling net8 artifact generation for min versions of artifacts (used in VS feed) * Optimizing TestPreSignedArtifacts method. * Zipping _net8.0 artifacts and other cleanups * Publish --self-contained (#3673) * updating template reference for core tools (#3675) * Moved log messages behind "Verbose" logging enabled check. Minor refactoring * Adding a test for .NET8 inproc * Update Microsoft.Azure.WebJobs.Script.WebHost to 4.834.2 * Minor cleanup * Publishing net8 bits as self-contained. Reordering of some code snippets to fix failing test. * Updating tests to reflect recent text changes. * Generating "_net8.0.zip" for all artifacts (previously only for ".min" ones) * Reordered supported target framework list as per PR feedback. Added a new test for unsupported use case. * Changes based on PR feedback * Fixed a test to reflect revised exception message change * Adding `--no-build` in "DotnetPack" step * Revert "Adding `--no-build` in "DotnetPack" step" This reverts commit bb9191a. * Added back `--no-build` flag for pack. Pack only when targetFramework == net6.0 --------- Co-authored-by: Naren Soni <soninaren@users.noreply.github.com> * Adding Docker for .NET 8 on the in-process model (#3686) * Limelight forwarding URL display (#3688) * Limelight forwarding URL display * Port to placeholder and string replacement * nit ; * fix typecasting to resolve build issue --------- Co-authored-by: @arroyc * Include _net8 directories for sign steps. (#3690) * Bump Microsoft.Azure.WebJobs.Script.WebHost from 4.834.2 to 4.834.3 (#3691) * Updated packages. # Conflicts: # src/Azure.Functions.Cli/Azure.Functions.Cli.csproj * Correcting in-process model tag format (#3702) * New Pipelines (#3701) * Change ESRP connection name from hard-coded to variable. * Add official-build.yml for ado * updated official-build.yml for ado * Changed PublishPipelineArtifact to 1ES.PublishPipelineArtifact * Updated ConnectedServiceName of EsrpCodeSigning@1 * Updated ConnectedServiceName of EsrpCodeSigning@1 * Update pool * added clean in nuget.config * added clean in nuget.config * added another clean in nuget.config * added nuget.org back * added cfs.yml in variables * moved official-build.yml * fixed the template files * Changed the spacing * Fixing the spacing in linux-package.yml * Created a new job for packaging * Minor fix in build-test.yml * Added public-build.yml with subset of the tasks. * Changed the pool name * Removed the repository-engineering from public-build.yml * Removed cfs.yml. * Removing simulateReleaseBuild task. * Changed the build parameters. * Skipping deployment test for public pipeline * Skipping resrouce creating for deployment test when the test is skipped * Skip the deployment test if the resource creation fails. * Skipping upload for public build. * Adding the log in the upload step. * Skipping the test step for quick testing. Will add it back. * Updated packages. * Adding the tests back. * removed codeql changes * changed ESRP signing * removing tests for temp * remove the extra signle quote * added inline * minor cleanup * Testing a fix * Testing a fix * Added schedule * Updated the custom docker file * move the public job to public folder * moved esrp task to template * Added codeql in the public pipeline * Added the tests back. * setting the key params to empty * Removed the SBOM logic * Removed the SBOM logic * Removed the extra env variables from public * Removed the extra params in sign-files * Changed back to use khkh/fix-sign-files for eng * added the pool name back * Removing package reference of Microsoft.IdentityModel.JsonWebTokens and System.IdentityModel.Tokens.Jwt packages as they are brought by host. (#3724) * Switched to Engineering release tag (v4) (#3721) * switched to eng release tag. removed v3 reference in public build * updated the start build number * updated the start build number * increasing the timeout of node test because 'npm install' is taking longer * adding more increased timeouts --------- Co-authored-by: azfuncgh <azfuncgh@github.com> * Build number reset for new pipeline (v4) (#3728) * switched to eng release tag. removed v3 reference in public build * build number update --------- Co-authored-by: azfuncgh <azfuncgh@github.com> * Set the inproc net8 executable name based on operating system. (#3730) --------- Co-authored-by: Daniel Castro <castro.daniel@microsoft.com> Co-authored-by: Danny Furnivall <danielfurnivall@gmail.com> Co-authored-by: Shyju Krishnankutty <connectshyju@gmail.com> Co-authored-by: Naren Soni <soninaren@users.noreply.github.com> Co-authored-by: Matthew Henderson <mattchenderson@users.noreply.github.com> Co-authored-by: Varad Meru <vrdmr@users.noreply.github.com> Co-authored-by: azfuncgh <azfuncgh@github.com>
* Add Event Grid Blob trigger (#3647) * Add Event Grid Blob trigger * Fix short name * Update version * Remove version update for TemplateJsonVersion * Fix typo * adding core mirroring yml (#3678) * Fixed typo (#3661) Co-authored-by: Danny Furnivall <danielfurnivall@gmail.com> * Add hard-coded Node templates for EventGrid Blob trigger (#3683) * Add Event Grid Blob trigger * Fix short name * Add Event Grid Blob trigger * .NET8 in-proc support (#3680) * .NET8 Inproc support for host start action. (#3670) * Zip generation updates for Inproc8 * Handling net8 artifact generation for min versions of artifacts (used in VS feed) * Optimizing TestPreSignedArtifacts method. * Zipping _net8.0 artifacts and other cleanups * Publish --self-contained (#3673) * updating template reference for core tools (#3675) * Moved log messages behind "Verbose" logging enabled check. Minor refactoring * Adding a test for .NET8 inproc * Update Microsoft.Azure.WebJobs.Script.WebHost to 4.834.2 * Minor cleanup * Publishing net8 bits as self-contained. Reordering of some code snippets to fix failing test. * Updating tests to reflect recent text changes. * Generating "_net8.0.zip" for all artifacts (previously only for ".min" ones) * Reordered supported target framework list as per PR feedback. Added a new test for unsupported use case. * Changes based on PR feedback * Fixed a test to reflect revised exception message change * Adding `--no-build` in "DotnetPack" step * Revert "Adding `--no-build` in "DotnetPack" step" This reverts commit bb9191a. * Added back `--no-build` flag for pack. Pack only when targetFramework == net6.0 --------- Co-authored-by: Naren Soni <soninaren@users.noreply.github.com> * Adding Docker for .NET 8 on the in-process model (#3686) * Limelight forwarding URL display (#3688) * Limelight forwarding URL display * Port to placeholder and string replacement * nit ; * fix typecasting to resolve build issue --------- Co-authored-by: @arroyc * Include _net8 directories for sign steps. (#3690) * Bump Microsoft.Azure.WebJobs.Script.WebHost from 4.834.2 to 4.834.3 (#3691) * Updated packages. # Conflicts: # src/Azure.Functions.Cli/Azure.Functions.Cli.csproj * Correcting in-process model tag format (#3702) * Removing package reference of Microsoft.IdentityModel.JsonWebTokens and System.IdentityModel.Tokens.Jwt packages as they are brought by host. (#3724) (#3725) * [release_4.0] Set the inproc net8 executable name based on operating system. (#3730) (#3733) * Set the inproc net8 executable name based on operating system. (#3730) * adding more increased timeouts * increasing the timeout of node test because 'npm install' is taking longer --------- Co-authored-by: azfuncgh <azfuncgh@github.com> * Update release_4.0 from v4.x (#3720) * Add Event Grid Blob trigger (#3647) * Add Event Grid Blob trigger * Fix short name * Update version * Remove version update for TemplateJsonVersion * Fix typo * adding core mirroring yml (#3678) * Fixed typo (#3661) Co-authored-by: Danny Furnivall <danielfurnivall@gmail.com> * Add hard-coded Node templates for EventGrid Blob trigger (#3683) * Add Event Grid Blob trigger * Fix short name * Add Event Grid Blob trigger * .NET8 in-proc support (#3680) * .NET8 Inproc support for host start action. (#3670) * Zip generation updates for Inproc8 * Handling net8 artifact generation for min versions of artifacts (used in VS feed) * Optimizing TestPreSignedArtifacts method. * Zipping _net8.0 artifacts and other cleanups * Publish --self-contained (#3673) * updating template reference for core tools (#3675) * Moved log messages behind "Verbose" logging enabled check. Minor refactoring * Adding a test for .NET8 inproc * Update Microsoft.Azure.WebJobs.Script.WebHost to 4.834.2 * Minor cleanup * Publishing net8 bits as self-contained. Reordering of some code snippets to fix failing test. * Updating tests to reflect recent text changes. * Generating "_net8.0.zip" for all artifacts (previously only for ".min" ones) * Reordered supported target framework list as per PR feedback. Added a new test for unsupported use case. * Changes based on PR feedback * Fixed a test to reflect revised exception message change * Adding `--no-build` in "DotnetPack" step * Revert "Adding `--no-build` in "DotnetPack" step" This reverts commit bb9191a. * Added back `--no-build` flag for pack. Pack only when targetFramework == net6.0 --------- Co-authored-by: Naren Soni <soninaren@users.noreply.github.com> * Adding Docker for .NET 8 on the in-process model (#3686) * Limelight forwarding URL display (#3688) * Limelight forwarding URL display * Port to placeholder and string replacement * nit ; * fix typecasting to resolve build issue --------- Co-authored-by: @arroyc * Include _net8 directories for sign steps. (#3690) * Bump Microsoft.Azure.WebJobs.Script.WebHost from 4.834.2 to 4.834.3 (#3691) * Updated packages. # Conflicts: # src/Azure.Functions.Cli/Azure.Functions.Cli.csproj * Correcting in-process model tag format (#3702) * New Pipelines (#3701) * Change ESRP connection name from hard-coded to variable. * Add official-build.yml for ado * updated official-build.yml for ado * Changed PublishPipelineArtifact to 1ES.PublishPipelineArtifact * Updated ConnectedServiceName of EsrpCodeSigning@1 * Updated ConnectedServiceName of EsrpCodeSigning@1 * Update pool * added clean in nuget.config * added clean in nuget.config * added another clean in nuget.config * added nuget.org back * added cfs.yml in variables * moved official-build.yml * fixed the template files * Changed the spacing * Fixing the spacing in linux-package.yml * Created a new job for packaging * Minor fix in build-test.yml * Added public-build.yml with subset of the tasks. * Changed the pool name * Removed the repository-engineering from public-build.yml * Removed cfs.yml. * Removing simulateReleaseBuild task. * Changed the build parameters. * Skipping deployment test for public pipeline * Skipping resrouce creating for deployment test when the test is skipped * Skip the deployment test if the resource creation fails. * Skipping upload for public build. * Adding the log in the upload step. * Skipping the test step for quick testing. Will add it back. * Updated packages. * Adding the tests back. * removed codeql changes * changed ESRP signing * removing tests for temp * remove the extra signle quote * added inline * minor cleanup * Testing a fix * Testing a fix * Added schedule * Updated the custom docker file * move the public job to public folder * moved esrp task to template * Added codeql in the public pipeline * Added the tests back. * setting the key params to empty * Removed the SBOM logic * Removed the SBOM logic * Removed the extra env variables from public * Removed the extra params in sign-files * Changed back to use khkh/fix-sign-files for eng * added the pool name back * Removing package reference of Microsoft.IdentityModel.JsonWebTokens and System.IdentityModel.Tokens.Jwt packages as they are brought by host. (#3724) * Switched to Engineering release tag (v4) (#3721) * switched to eng release tag. removed v3 reference in public build * updated the start build number * updated the start build number * increasing the timeout of node test because 'npm install' is taking longer * adding more increased timeouts --------- Co-authored-by: azfuncgh <azfuncgh@github.com> * Build number reset for new pipeline (v4) (#3728) * switched to eng release tag. removed v3 reference in public build * build number update --------- Co-authored-by: azfuncgh <azfuncgh@github.com> * Set the inproc net8 executable name based on operating system. (#3730) --------- Co-authored-by: Daniel Castro <castro.daniel@microsoft.com> Co-authored-by: Danny Furnivall <danielfurnivall@gmail.com> Co-authored-by: Shyju Krishnankutty <connectshyju@gmail.com> Co-authored-by: Naren Soni <soninaren@users.noreply.github.com> Co-authored-by: Matthew Henderson <mattchenderson@users.noreply.github.com> Co-authored-by: Varad Meru <vrdmr@users.noreply.github.com> Co-authored-by: azfuncgh <azfuncgh@github.com> --------- Co-authored-by: Daniel Castro <castro.daniel@microsoft.com> Co-authored-by: Danny Furnivall <danielfurnivall@gmail.com> Co-authored-by: Shyju Krishnankutty <connectshyju@gmail.com> Co-authored-by: Naren Soni <soninaren@users.noreply.github.com> Co-authored-by: Matthew Henderson <mattchenderson@users.noreply.github.com> Co-authored-by: Varad Meru <vrdmr@users.noreply.github.com> Co-authored-by: azfuncgh <azfuncgh@github.com>
Core tools changes to support .NET8 in-proc.
The core tools artifact will now have a child folder called "in-proc8" which is the output of
dotnet publish -f net8.0
(We use an MSbuild target to do this publishing). In thestart
action, we will inspect the local.settings.json file for the presence ofFUNCTIONS_INPROC_NET8_ENABLED
setting. If this is present, that indicates the app is an in-proc net8 app. Instead of starting the app with the current core tools process (which is built for net6.0), we will launch a child func.exe process from the "in-proc8" folder.Updated Microsoft.Azure.WebJobs.Script.WebHost to 4.834.2
Pull request checklist