Skip to content
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

Refactor SDK targets to improve incremental build, publish issues, and nuget feed issues #1946

Merged
merged 23 commits into from
Jan 18, 2024

Conversation

jviau
Copy link
Contributor

@jviau jviau commented Oct 4, 2023

Issue describing the changes in this PR

resolves #1863, #1834

Pull request checklist

  • My changes do not require documentation changes
    • Otherwise: Documentation issue linked to PR
  • My changes should not be added to the release notes for the next release
    • Otherwise: I've added my notes to release_notes.md
  • My changes do not need to be backported to a previous version
    • Otherwise: Backport tracked by issue/PR #issue_or_pr
  • I have added all required tests (Unit tests, E2E tests)

Additional information

This PR refactors our SDK targets to improve the inner-build stability and quality. The inner build is used to collect functions host extension payload to be deployed with the application. The changes are:

  1. Pass nuget restore sources directly to inner build
  2. WorkerExtensions.csproj is now generated and build in the intermediate output directory under a set path
  3. Incremental build support improved (due to point 2)
  4. No longer copy items to output or publish directory manually, instead we populate the appropriate item groups so that CopyToOutputDirectory and CopyToPublishDirectory targets from the base .NET SDK will perform the copies for us.

jviau added 9 commits August 16, 2023 11:16
# Conflicts:
#	DotNetWorker.sln
#	extensions/Worker.Extensions.Tables/src/TableExtensionStartup.cs
#	extensions/Worker.Extensions.Tables/src/Worker.Extensions.Tables.csproj
#	samples/WorkerBindingSamples/WorkerBindingSamples.csproj
#	test/E2ETests/E2EApps/E2EApp/Table/TableInputBindingFunctions.cs
#	test/E2ETests/E2ETests/Tables/TablesEndToEndTests.cs
#	test/SdkE2ETests/Contents/WorkerBindingSamplesOutput/functions.metadata
#	test/SdkE2ETests/PublishTests.cs
Merge main into feature/ext-proj
sdk/release_notes.md Outdated Show resolved Hide resolved
samples/WorkerBindingSamples/Table/TableSamples.cs Outdated Show resolved Hide resolved
extensions/Worker.Extensions.Tables/release_notes.md Outdated Show resolved Hide resolved
@jviau jviau marked this pull request as ready for review October 24, 2023 16:10
@jviau jviau requested a review from fabiocav October 24, 2023 16:20
* Expand on RemoveProperties for inner build. Fix source gen default

* Add PublishProfile to remove props

* Un-remove some properties from inner build
@WakaToa
Copy link

WakaToa commented Jan 9, 2024

Hi, we are currently facing the issues fixed by this PR. Is there any information when the fix will be shipped?

@WakaToa
Copy link

WakaToa commented Jan 15, 2024

@jviau @kshyju Hey, even though the changes have been approved, there still seem to be checks pending. Do you have a chance to take a look and merge the changes? Unfortunately the fix did not make it into the release from 4 days ago and we are still not able to migrate to .NET 8. When will the next release be? Can you provide a release in the short term to unblock us and many others?

@jviau jviau merged commit 4089705 into main Jan 18, 2024
25 checks passed
@kemmis
Copy link

kemmis commented Jan 24, 2024

We've been having an issue on our build server where the C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp folder gets filled up with the WorkerExtensions.csproj and buildout artifacts. (about 94 mb each build). Will this change move these files into the standard build directories instead of that temp folder? I'm curious if updating our Microsoft.Azure.Functions.Worker.Sdk package to this version will resolve this issue.

@kshyju
Copy link
Member

kshyju commented Jan 24, 2024

@WakaToa A preview version of the package is now available.

https://github.com/Azure/azure-functions-dotnet-worker/releases/tag/sdk-1.17.0-preview1

@kshyju kshyju mentioned this pull request Mar 1, 2024
7 tasks
kshyju added a commit that referenced this pull request Mar 1, 2024
* Revert 1946

* Version bump, Release notes update, added System.Memory package reference (which was removed due to revert)
jviau added a commit that referenced this pull request Mar 13, 2024
jviau added a commit that referenced this pull request Mar 13, 2024
jviau added a commit that referenced this pull request Apr 3, 2024
* Revert "Reverting changes introduced in #1946 (#2313)" (#2346)

This reverts commit c34a868.

* Directly use ReferencePath for scanning reference assemblies

* update release_notes.md

* Update log message

* Add e2e test to verify SDK assembly scanning

* Include nuget.org for test

* Pass https source first

* Add package with no restore

* Refactor Sdk e2e build steps

* Remove --no-restore
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

WorkerExtensions.csproj does not use the repo's NuGet.config due to being in temp dir
8 participants