Unable to deploy using github actions

Dustin Chavez 80 Reputation points
2025-12-17T15:57:07.3166667+00:00

Hello,

I am deploying a function app using github actions which has been working fine until now. I made a change to my function app logic and am using the same yaml file as the last successful deploy, however, now it gets stuck when deploying. Here is the message it receives in the step it gets stuck at:

Run Azure/functions-action@v1

Successfully parsed SCM credential from publish-profile format.

Using SCM credential for authentication, GitHub Action will not perform resource validation.

Successfully acquired app settings from function app (with SCM credential)!

Will archive . into /home/runner/work/_temp/temp_web_package_20908426067887786.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 true

Update using context.kuduService.updateAppSettingViaKudu

Response with status code 204

App setting SCM_DO_BUILD_DURING_DEPLOYMENT propagated to Kudu container

Setting ENABLE_ORYX_BUILD in Kudu container to true

Update using context.kuduService.updateAppSettingViaKudu

Response with status code 204

App setting ENABLE_ORYX_BUILD propagated to Kudu container

Package deployment using ZIP Deploy initiated.

Nothing with my yaml file has changed in the last few months, it just now stopped deploying smoothly. I have a different function app that uses github actions and it still is able to deploy so it seems isolated to this function app. Any guidance would be appreciated. Thank you.

Azure Functions
Azure Functions
An Azure service that provides an event-driven serverless compute platform.
{count} votes

1 answer

Sort by: Most helpful
  1. Rakesh Mishra 4,335 Reputation points Microsoft External Staff Moderator
    2025-12-17T16:52:22.9233333+00:00

    Hi @Dustin Chavez ,

    Welcome to the Microsoft Q&A Platform! Thank you for asking your question here.

    As we can see from backend that issue is resolved. Could you please confirm the same and if not do let me know what issue you are facing currently.

    Below are the steps to be followed to resolve the issue.

    Step 1: Check for Stale Deployment State (Kudu)

    1. In the Azure Portal, navigate to the Function App
    2. Go to Development Tools -> Advanced Tools (Kudu)
    3. Open Debug Console
    4. Navigate to: /home/data/SitePackages
    5. Open packagename.txt
    6. Expected: The file references the most recent ZIP package from the latest GitHub Actions deployment
    7. Problem Indicator:
      • The file references an older ZIP
      • The deployment timestamp does not match recent attempts
    8. This indicates the previous deployment did not complete cleanly and Kudu is stuck using an old package reference.

    Step 2: Restart the Function App (Primary Fix)

    1. In Azure Portal -> Function App -> Overview
    2. Select Restart
    3. Wait 1–2 minutes for the app to fully recycle
    4. Restarting clears:
      • Stale ZipDeploy locks
      • Kudu deployment state
      • Long‑running worker processes

    Step 3: Redeploy Once (No Parallel Runs)

    1. After restart: Trigger a single new deployment from GitHub Actions
    2. Ensure no other workflows or systems are deploying at the same time
    3. Deployment should now return HTTP 202 Accepted and complete successfully.

    If above steps does not fix the issue, try below step.
    Step 4 (Optional / Advanced): Manually Fix Package Manifest

    Only needed if restarts do not resolve the issue.

    1. Stop the Function App
    2. In Kudu Debug Console, open: /home/data/SitePackages/packagename.txt
    3. Replace the ZIP name with the exact artifact name from the latest GitHub Actions logs
    4. Save the file
    5. Restart the Function App

    Please note that this step should only be performed when deployments are blocked and under guidance.

    Step 5: Prevent Recurrence (Recommended)

    • Avoid multiple commits triggering deployments simultaneously
    • Ensure only one pipeline deploys to the app
    • Add retry with backoff in GitHub Actions when encountering HTTP 409
    • Consider deployment slots to isolate package activation
    • Allow time between deployments when using ZipDeploy
    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.