Skip to content

Merge pull request #191 from learntocloud:adding-tests #66

Merge pull request #191 from learntocloud:adding-tests

Merge pull request #191 from learntocloud:adding-tests #66

name: Deploy .NET isolated Azure Function App
on:
workflow_dispatch:
push:
branches: [main]
env:
AZURE_FUNCTIONAPP_NAME: 'clouddictionary' # set this to your function app name on Azure
AZURE_FUNCTIONAPP_PACKAGE_PATH: 'src' # set this to the path to your function app project, defaults to the repository root
DOTNET_VERSION: '8.0.x' # set this to the dotnet version to use (e.g. '2.1.x', '3.1.x', '5.0.x')
jobs:
build-and-deploy:
runs-on: ubuntu-latest # For Linux, use ubuntu-latest
environment: dev
steps:
- name: 'Checkout GitHub Action'
uses: actions/checkout@v3
- name: Setup DotNet ${{ env.DOTNET_VERSION }} Environment
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: 'Resolve Project Dependencies Using Dotnet'
shell: pwsh # For Linux, use bash
run: |
pushd './${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}'
dotnet build --configuration Release --output ./output
popd
- name: 'Run Unit Tests'
shell: pwsh # For Linux, use bash
run: |
pushd './tests'
dotnet test --verbosity normal
popd
- name: 'Run Azure Functions Action'
uses: Azure/functions-action@v1
id: fa
with:
app-name: ${{ env.AZURE_FUNCTIONAPP_NAME }}
package: '${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}/output'
publish-profile: ${{ secrets.AZURE_FUNCTIONAPP_PUBLISH_PROFILE }} # Remove publish-profile to use Azure RBAC