functions-action: Failed to check app setting propagation for SCM_DO_BUILD_DURING_DEPLOYMENT and ENABLE_ORYX_BUILD.

First observed yesterday, our deployment action is having some issues. We’re using node.js, our action is based on this template.

After Client.updateAppSettingViaKudu is called and returns 204, we get stuck in a timeout / retry cycle for about 3 minutes. See Github job log below.

Run Azure/functions-action@v1
  with:
    app-name: REDACTED
    package: .
    publish-profile: ***
    slot-name: REDACTED
    respect-pom-xml: false
    respect-funcignore: false
    scm-do-build-during-deployment: false
    enable-oryx-build: false
  env:
    AZURE_FUNCTIONAPP_NAME: REDACTED
    AZURE_FUNCTIONAPP_PACKAGE_PATH: .
    NODE_VERSION: 10.x
Successfully parsed SCM credential from old publish-profile format.
Using SCM credential for authentication, GitHub Action will not perform resource validation.
Sucessfully acquired app settings from function app (with SCM credential)!
Will archive . into /home/runner/work/_temp/temp_web_package_47007169786336567.zip as function app content
Will use Kudu https://<scmsite>/api/zipdeploy to deploy since publish-profile is detected.
Setting SCM_DO_BUILD_DURING_DEPLOYMENT in Kudu container to false
Update using Client.updateAppSettingViaKudu
Response with status code 204
Warning: Failed to check app setting propagation for SCM_DO_BUILD_DURING_DEPLOYMENT, remaining retry 19
App setting SCM_DO_BUILD_DURING_DEPLOYMENT has not been propagated to Kudu container yet, remaining retry 19
Warning: Failed to check app setting propagation for SCM_DO_BUILD_DURING_DEPLOYMENT, remaining retry 18
...truncated...
Warning: Failed to check app setting propagation for SCM_DO_BUILD_DURING_DEPLOYMENT, remaining retry 1
App setting SCM_DO_BUILD_DURING_DEPLOYMENT has not been propagated to Kudu container yet, remaining retry 1
Warning: Failed to check app setting propagation for SCM_DO_BUILD_DURING_DEPLOYMENT, remaining retry 0
App setting SCM_DO_BUILD_DURING_DEPLOYMENT has not been propagated to Kudu container yet, remaining retry 0
Warning: App setting SCM_DO_BUILD_DURING_DEPLOYMENT fails to propagate to Kudu container
Setting ENABLE_ORYX_BUILD in Kudu container to false
Update using Client.updateAppSettingViaKudu
Response with status code 204
Warning: Failed to check app setting propagation for ENABLE_ORYX_BUILD, remaining retry 19
App setting ENABLE_ORYX_BUILD has not been propagated to Kudu container yet, remaining retry 19
Warning: Failed to check app setting propagation for ENABLE_ORYX_BUILD, remaining retry 18
App setting ENABLE_ORYX_BUILD has not been propagated to Kudu container yet, remaining retry 18
...truncated...
Warning: Failed to check app setting propagation for ENABLE_ORYX_BUILD, remaining retry 1
App setting ENABLE_ORYX_BUILD has not been propagated to Kudu container yet, remaining retry 1
Warning: Failed to check app setting propagation for ENABLE_ORYX_BUILD, remaining retry 0
App setting ENABLE_ORYX_BUILD has not been propagated to Kudu container yet, remaining retry 0
Warning: App setting ENABLE_ORYX_BUILD fails to propagate to Kudu container
Package deployment using ZIP Deploy initiated.
Deploy logs can be viewed at REDACTED
Successfully deployed web package to App Service.
Successfully updated deployment History at REDACTED
Response with status code 204
Response with status code 204
Response with status code 204

Here’s some additional information.

  • The deploy itself seems to go as expected. But the retry cycle is significantly slowing down our releases.
  • We’ve observed this happening on both production & staging deploy slots.
  • We’ve observed this with both Windows & Linux Function Apps.
  • No similar issues are observed when deploying to the function app via VS Code (running in a dev docker container).
  • No changes were made to our workflow files since the last time it was working properly.

Here’s a few things I’ve tried, to no effect.

  • Explicitly setting the scm-do-build-during-deployment and enable-oryx-build in the workfile (both true & false).
  • Knew it was probably unrelated, but tried tweaking the NODE_VERSION from 12.x to 10.x

I’d be happy to provide more information on request. Thanks for your help!

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 42
  • Comments: 38 (3 by maintainers)

Commits related to this issue

Most upvoted comments

Should this issue be “idle”? I think we’re just waiting around to see it get fixed.

Same here with a Python using this template and a brand new Azure Functions with Python runtime 3.8 (although other versions behave similar).

It seems due to recent changes as reverting back to v.1.3.1 fixes it:

    - name: 'Run Azure Functions Action'
      uses: Azure/functions-action@v1.3.1

Not to sound negative bc I appreciate the issue getting attention but that doesn’t sounds like it’s fixing the actual problem. And all of us who are having the issue will still see increased build times (just not quite as bad, bc of 3 vs 10 retries).

Speaking only for myself, I would like to see the core issue get resolved or to have these attempts to apply settings removed altogether if they’re not actually needed.

Reverting to v1.3.2 fixed it for me.

This seems like a backend issue where the Kudu lite container is not able to pick up the app settings change in time. I will reduce the retry count to 3 in the next release. Thanks for reporting the bug.

The hanging deployment issue should be fixed in the latest v1.4.3 (v1). Please give it a try and let us know.

Hello folks - thanks for reporting it. we are looking into this.

Confirmed fixed. I just pushed using Azure/functions-action@v1 and it works. Thanks.

@patelchandni Working for me now as well with the latest (via v1). Thanks for the attention to this!

Just discovered this today too. Deploying Azure Functions. 19 retries and then succeeds. Slows down deploy time dramatically.

Seeing the same issue with a .NET Core 3.1 Function deployment. Wasn’t seeing this a couple of weeks ago.

Also getting the same - action completes successfully, however spends ages retrying over the two variables.

This seems like a backend issue where the Kudu lite container is not able to pick up the app settings change in time. I will reduce the retry count to 3 in the next release. Thanks for reporting the bug.

Reducing the retry count will treat the symptom (delay in function app deployment) but not the root cause (settings not syncing with kudu container).

It is never successfully syncing these settings with the Kudu container, unless I revert to v1.3.2 as suggested above.

Thank you for looking into this!

Also seeing the same issues on .NET 5.0 Function deploy. I attempted most of the changes you did, I even changed those settings in Azure to see if it would read them from the function and skip setting them but no luck. It’s adding a ton of time to our deploys.

This bug is fixed in the latest version v1.4.2 (also v1).

On my case, I do the builds using ubuntu-latest.

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest

3 days ago my deployments stopped working. The github actions logs were saying that the deployment was succesful, but my functions were NOT deployed.

App setting ENABLE_ORYX_BUILD has not been propagated to Kudu container yet, remaining retry 1
Warning: Failed to check app setting propagation for ENABLE_ORYX_BUILD, remaining retry 0
App setting ENABLE_ORYX_BUILD has not been propagated to Kudu container yet, remaining retry 0
Warning: App setting ENABLE_ORYX_BUILD fails to propagate to Kudu container
Package deployment using ZIP Deploy initiated.
Deploy logs can be viewed at <redacted>
Successfully deployed web package to App Service.
Successfully updated deployment History at <redacted>
Response with status code 204
Response with status code 204
Response with status code 204

Rolling back to v1.3.2 fixed the issue to me.

I assume that my case was being a failure because I need these 2 settings to be true since I’m building on ubuntu instead of windows. https://docs.microsoft.com/en-us/azure/azure-functions/functions-deployment-technologies#remote-build-on-linux

    - name: 'Run Azure Functions Action'
      uses: Azure/functions-action@v1.3.2
      id: fa
      with:
        app-name: <redacted>
        package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}
        publish-profile: <redacted>
        scm-do-build-during-deployment: true
        enable-oryx-build: true

Can confirm that I am experiencing this issue as well. Azure Functions 3.1 new GitHub workflow.

+1 - Also experiencing the same issue. Function deployment duration has slowed from 1 minute to 8 - 10 minutes.