Skip to content

The Github actions workflow that Azure creates automatically for deploying function apps does not work. #175

@Tylersuard

Description

@Tylersuard

Hello. I am able to deploy my Azure Function App from VS Code using the Function App extension. However, I cannot deploy using the Github Actions file that was generated for me by Azure when I connected my function app to my repo. None of my functions are found when I use it. Here is what Azure generated for me:

Docs for the Azure Web Apps Deploy action: https://github.com/azure/functions-action

More GitHub Actions for Azure: https://github.com/Azure/actions

More info on Python, GitHub Actions, and Azure Functions: https://aka.ms/python-webapps-actions

name: Build and deploy Python project to Azure Function App

on:
push:
branches:
- main
workflow_dispatch:

env:
AZURE_FUNCTIONAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root
PYTHON_VERSION: '3.11' # set this to the python version to use (supports 3.6, 3.7, 3.8)

jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read #This is required for actions/checkout

steps:
  - name: Checkout repository
    uses: actions/checkout@v4

  - name: Setup Python version
    uses: actions/setup-python@v5
    with:
      python-version: ${{ env.PYTHON_VERSION }}

  - name: Create and start virtual environment
    run: |
      python -m venv venv
      source venv/bin/activate

  - name: Install dependencies
    run: pip install -r requirements.txt

  # Optional: Add step to run tests here

  - name: Upload artifact for deployment job
    uses: actions/upload-artifact@v4
    with:
      name: python-app
      path: |
        release.zip
        !venv/

deploy:
runs-on: ubuntu-latest
needs: build
permissions:
id-token: write #This is required for requesting the JWT
contents: read #This is required for actions/checkout

steps:
  - name: Download artifact from build job
    uses: actions/download-artifact@v4
    with:
      name: python-app

  - name: Unzip artifact for deployment
    run: unzip release.zip     
    
  - name: Login to Azure
    uses: azure/login@v2
    with:
      client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_ }}
      tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_ }}
      subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_ }}

  - name: 'Deploy to Azure Functions'
    uses: Azure/functions-action@v1
    id: deploy-to-function
    with:
      app-name: 'xxx-app-name-here'
      slot-name: 'Production'
      package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions