-
Notifications
You must be signed in to change notification settings - Fork 453
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
[pack] extension bundle probing and download #4135
Conversation
Created a new PR with same content from #4043. |
1318f43
to
97d754d
Compare
97d754d
to
45e34fd
Compare
@soninaren What's the status here? Is there anything we're waiting on before reviewers can get going? |
@soninaren what are the chances we get this into this next release? |
PR is ready for review. I have addressed all the comments requested in the last iteration.
|
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.
Added few comments
a8317b9
to
293a2b4
Compare
@@ -58,6 +62,11 @@ public async Task<IActionResult> Get() | |||
[Route("admin/host/extensions/{id}")] | |||
public async Task<IActionResult> Delete(string id) | |||
{ | |||
if (_extensionBundleManager.IsExtensionBundleConfigured()) | |||
{ |
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.
As discussed in person, please add tests
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.
There aren't any tests cases for any of the controller yet. We might need to setup something in e2e tests. Have added test cases for changes to extension manager in the extension manager tests.
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 scenarios based tests would be a good place for this. Some of the examples we have are the keys controller tests.
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.
Added few minor comments.
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.
Left a few comments
@@ -58,6 +62,11 @@ public async Task<IActionResult> Get() | |||
[Route("admin/host/extensions/{id}")] | |||
public async Task<IActionResult> Delete(string id) | |||
{ | |||
if (_extensionBundleManager.IsExtensionBundleConfigured()) | |||
{ |
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 scenarios based tests would be a good place for this. Some of the examples we have are the keys controller tests.
test/WebJobs.Script.Tests/Configuration/ExtensionBundleOptionsSetupTest.cs
Outdated
Show resolved
Hide resolved
d8c302a
to
910250d
Compare
{ | ||
var options = new ExtensionBundleOptions(); | ||
var optionsSetup = new ExtensionBundleOptionsSetup(context.Configuration, SystemEnvironment.Instance, hostingEnvironment); | ||
var optionsSetup = new ExtensionBundleOptionsSetup(context.Configuration, SystemEnvironment.Instance, context.HostingEnvironment); |
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.
👍
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.
It's a bit confusing that this is an IOptionsSetup<ExtensionBundleOptions>
but not really used as one (not registered, just explicitly used here). I can see that confusing others if they're working on this code. We might want to just drop that implementation and rename this to reflect that this is a configuration helper.
a9d8289
to
926a147
Compare
926a147
to
3d535d1
Compare
@soninaren just ping when this is ready for review |
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.
Just a couple of very small comments. Once those addressed, I'm good with this.
{ | ||
var options = new ExtensionBundleOptions(); | ||
var optionsSetup = new ExtensionBundleOptionsSetup(context.Configuration, SystemEnvironment.Instance, hostingEnvironment); | ||
var optionsSetup = new ExtensionBundleOptionsSetup(context.Configuration, SystemEnvironment.Instance, context.HostingEnvironment); |
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.
It's a bit confusing that this is an IOptionsSetup<ExtensionBundleOptions>
but not really used as one (not registered, just explicitly used here). I can see that confusing others if they're working on this code. We might want to just drop that implementation and rename this to reflect that this is a configuration helper.
@@ -53,6 +53,6 @@ public static class EnvironmentSettingNames | |||
public const string LinuxAzureAppServiceStorage = "WEBSITES_ENABLE_APP_SERVICE_STORAGE"; | |||
public const string CoreToolsEnvironment = "FUNCTIONS_CORETOOLS_ENVIRONMENT"; | |||
|
|||
public const string AlternateCdnUri = "FUNCTIONS_ALTERNATE_CDN_URI"; | |||
public const string FunctionsFallbackCdnUri = "FUNCTIONS_FALLBACK_CDN_URI"; |
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.
Rename this as discussed.
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.
LGTM!
Resolves #3711
Resolves #3961
Resolves #3714
Resolves #4061