diff --git a/.github/workflows/azureprojectgenerator.yml b/.github/workflows/azureprojectgenerator.yml index 11f505c..02c4254 100644 --- a/.github/workflows/azureprojectgenerator.yml +++ b/.github/workflows/azureprojectgenerator.yml @@ -7,40 +7,38 @@ env: AZURE_FUNCTIONAPP_NAME: azureprojectgenerator AZURE_FUNCTIONAPP_PACKAGE_PATH: azure-project-generator/published DOTNET_VERSION: 8.0.x - WORKING_DIRECTORY: azure-project-generator jobs: - build: - runs-on: ubuntu-latest + build-and-deploy: + runs-on: ubuntu-latest # For Linux, use ubuntu-latest + environment: dev steps: - - uses: actions/checkout@v4 - - name: Setup .NET SDK + - 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: Restore - run: dotnet restore "${{ env.WORKING_DIRECTORY }}" - - name: Build - run: dotnet build "${{ env.WORKING_DIRECTORY }}" --configuration ${{ env.CONFIGURATION }} --no-restore - - name: Publish - run: dotnet publish "${{ env.WORKING_DIRECTORY }}" --configuration ${{ env.CONFIGURATION }} --no-build --output "${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}" - - name: Publish Artifacts - uses: actions/upload-artifact@v3 - with: - name: functionapp - path: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }} - deploy: - runs-on: ubuntu-latest - needs: build - steps: - - name: Download artifact from build job - uses: actions/download-artifact@v3 - with: - name: functionapp - path: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }} - - name: Deploy to Azure Function App + + - 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 }} - publish-profile: ${{ secrets.azureprojectgenerator_A149 }} - package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }} + package: '${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}/output' + publish-profile: ${{ secrets.AZURE_FUNCTIONAPP_PUBLISH_PROFILE }}