From cbf06139a81b0fed7b0e550ddf8c65a57930924a Mon Sep 17 00:00:00 2001 From: Ben Thomas Date: Tue, 30 Jul 2024 08:19:28 -0700 Subject: [PATCH] Removing deployment pipelines. (#1092) Removing deployment pipelines. ### Contribution Checklist - [ ] The code builds clean without any errors or warnings - [ ] The PR follows the [Contribution Guidelines](https://github.com/microsoft/chat-copilot/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/chat-copilot/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone :smile: Co-authored-by: Ben Thomas --- .github/workflows/copilot-deploy-backend.yml | 76 ------------------- .../workflows/copilot-deploy-environment.yml | 55 -------------- .github/workflows/copilot-deploy-infra.yml | 54 ------------- .../copilot-deploy-memorypipeline.yml | 68 ----------------- .github/workflows/copilot-deploy-pipeline.yml | 49 ------------ .github/workflows/copilot-deploy-plugins.yml | 63 --------------- 6 files changed, 365 deletions(-) delete mode 100644 .github/workflows/copilot-deploy-backend.yml delete mode 100644 .github/workflows/copilot-deploy-environment.yml delete mode 100644 .github/workflows/copilot-deploy-infra.yml delete mode 100644 .github/workflows/copilot-deploy-memorypipeline.yml delete mode 100644 .github/workflows/copilot-deploy-pipeline.yml delete mode 100644 .github/workflows/copilot-deploy-plugins.yml diff --git a/.github/workflows/copilot-deploy-backend.yml b/.github/workflows/copilot-deploy-backend.yml deleted file mode 100644 index 79f533bd2..000000000 --- a/.github/workflows/copilot-deploy-backend.yml +++ /dev/null @@ -1,76 +0,0 @@ -name: copilot-deploy-backend - -on: - workflow_call: - inputs: - ARTIFACT_NAME: - required: true - type: string - ENVIRONMENT: - required: true - type: string - DEPLOYMENT_NAME: - required: true - type: string - outputs: - backend-host: - description: "Host to which backend is deployed" - value: ${{jobs.webapi.outputs.backend-host}} - -permissions: - contents: read - id-token: write - -jobs: - webapi: - environment: ${{inputs.ENVIRONMENT}} - strategy: - fail-fast: false - matrix: - include: - - { dotnet: "8.0", configuration: Release, os: ubuntu-latest } - # Map the job output to step output - outputs: - backend-host: ${{steps.app-name.outputs.backend-host}} - - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - with: - sparse-checkout: | - scripts - - - uses: actions/download-artifact@v4 - with: - name: ${{inputs.ARTIFACT_NAME}} - path: "${{ github.workspace }}/${{inputs.ARTIFACT_NAME}}" - - - name: "Display downloaded content" - run: ls -R - working-directory: "${{ github.workspace }}/${{inputs.ARTIFACT_NAME}}" - - - name: Azure login - uses: azure/login@v2 - with: - client-id: ${{vars.AZURE_GITHUB_ACCESS_APP_ID}} - tenant-id: ${{vars.AZURE_GITHUB_ACCESS_TENANT_ID}} - subscription-id: ${{vars.AZURE_GITHUB_ACCESS_SUB_ID}} - enable-AzPSSession: false - - - name: Get app name - id: app-name - run: | - WEB_APP_NAME=$(az deployment group show --name ${{inputs.DEPLOYMENT_NAME}} --resource-group ${{vars.CC_DEPLOYMENT_GROUP_NAME}} --output json | jq -r '.properties.outputs.webapiName.value') - echo "AZURE_WEBAPP_NAME=$WEB_APP_NAME" >> $GITHUB_ENV - echo "backend-host=$WEB_APP_NAME" >> $GITHUB_OUTPUT - - - name: Enable Run From Package - uses: azure/CLI@v2 - with: - azcliversion: 2.30.0 - inlineScript: | - az webapp config appsettings set --resource-group ${{vars.CC_DEPLOYMENT_GROUP_NAME}} --name ${{ env.AZURE_WEBAPP_NAME }} --settings WEBSITE_RUN_FROM_PACKAGE="1" -o none - - - name: "Deploy" - run: | - scripts/deploy/deploy-webapi.sh -p "${{ github.workspace }}/${{inputs.ARTIFACT_NAME}}/webapi.zip" -d ${{inputs.DEPLOYMENT_NAME}} -s ${{vars.AZURE_SUBSCRIPTION_ID}} -rg ${{vars.CC_DEPLOYMENT_GROUP_NAME}} --skip-app-registration diff --git a/.github/workflows/copilot-deploy-environment.yml b/.github/workflows/copilot-deploy-environment.yml deleted file mode 100644 index c29b4bae8..000000000 --- a/.github/workflows/copilot-deploy-environment.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: copilot-deploy-environment - -on: - workflow_call: - inputs: - ENVIRONMENT: - required: true - type: string - WEBAPI_ARTIFACT_NAME: - required: true - type: string - MEMORYPIPELINE_ARTIFACT_NAME: - required: true - type: string - PLUGINS_ARTIFACT_NAME: - required: true - type: string - outputs: - backend-host: - description: "Host on which backend runs" - value: ${{jobs.deploy-backend.outputs.backend-host}} - -permissions: - contents: read - id-token: write - -jobs: - deploy-infra: - uses: ./.github/workflows/copilot-deploy-infra.yml - with: - ENVIRONMENT: ${{inputs.ENVIRONMENT}} - - deploy-backend: - needs: [deploy-infra] - uses: ./.github/workflows/copilot-deploy-backend.yml - with: - ARTIFACT_NAME: ${{inputs.WEBAPI_ARTIFACT_NAME}} - DEPLOYMENT_NAME: ${{needs.deploy-infra.outputs.deployment-id}} - ENVIRONMENT: ${{inputs.ENVIRONMENT}} - - deploy-memorypipeline: - needs: [deploy-infra] - uses: ./.github/workflows/copilot-deploy-memorypipeline.yml - with: - ARTIFACT_NAME: ${{inputs.MEMORYPIPELINE_ARTIFACT_NAME}} - DEPLOYMENT_NAME: ${{needs.deploy-infra.outputs.deployment-id}} - ENVIRONMENT: ${{inputs.ENVIRONMENT}} - - deploy-plugins: - needs: [deploy-infra] - uses: ./.github/workflows/copilot-deploy-plugins.yml - with: - ARTIFACT_NAME: ${{inputs.PLUGINS_ARTIFACT_NAME}} - DEPLOYMENT_NAME: ${{needs.deploy-infra.outputs.deployment-id}} - ENVIRONMENT: ${{inputs.ENVIRONMENT}} diff --git a/.github/workflows/copilot-deploy-infra.yml b/.github/workflows/copilot-deploy-infra.yml deleted file mode 100644 index d8afd5c9f..000000000 --- a/.github/workflows/copilot-deploy-infra.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: copilot-deploy-infra - -on: - workflow_call: - inputs: - ENVIRONMENT: - required: true - type: string - outputs: - deployment-id: - description: "The Id of the current deployment." - value: ${{jobs.deploy.outputs.deployment-id}} - -jobs: - deploy: - environment: ${{inputs.ENVIRONMENT}} - permissions: - contents: read - id-token: write - strategy: - fail-fast: false - matrix: - include: - - { dotnet: "8.0", configuration: Release, os: ubuntu-latest } - outputs: - deployment-id: ${{steps.deployment-id.outputs.deployment_name}} - - runs-on: ${{ matrix.os }} - steps: - - name: Generate Deployment Id - id: deployment-id - run: echo "deployment_name=${{ vars.CC_DEPLOYMENT_NAME }}-$(date +'%Y-%m-%dT%H-%M-%S')" >> $GITHUB_OUTPUT - - - uses: actions/checkout@v4 - with: - clean: true - - - name: Azure login - uses: azure/login@v2 - with: - client-id: ${{vars.AZURE_GITHUB_ACCESS_APP_ID}} - tenant-id: ${{vars.AZURE_GITHUB_ACCESS_TENANT_ID}} - subscription-id: ${{vars.AZURE_GITHUB_ACCESS_SUB_ID}} - enable-AzPSSession: false - - - name: deploy-infra - uses: azure/CLI@v2 - with: - azcliversion: 2.30.0 - inlineScript: | - AI_SERVICE_KEY=$(az cognitiveservices account keys list --name ${{vars.AZURE_OPENAI_NAME}} --resource-group ${{vars.AZUREOPENAI_DEPLOYMENT_GROUP_NAME}} | jq -r '.key1') - echo "::add-mask::$AI_SERVICE_KEY" - APP_TENANT_ID=${{vars.APPLICATION_TENANT_ID}} - scripts/deploy/deploy-azure.sh --subscription ${{vars.AZURE_SUBSCRIPTION_ID}} --resource-group ${{vars.CC_DEPLOYMENT_GROUP_NAME}} --deployment-name ${{steps.deployment-id.outputs.deployment_name}} --region ${{vars.CC_DEPLOYMENT_REGION}} --client-id ${{vars.BACKEND_CLIENT_ID}} --frontend-client-id ${{vars.APPLICATION_CLIENT_ID}} --tenant-id $APP_TENANT_ID --instance ${{vars.AZURE_INSTANCE}} --ai-service AzureOpenAI --ai-endpoint ${{vars.AZURE_OPENAI_ENDPOINT}} --ai-service-key $AI_SERVICE_KEY --app-service-sku ${{vars.WEBAPP_API_SKU}} --no-deploy-package --debug-deployment --deploy-web-searcher-plugin diff --git a/.github/workflows/copilot-deploy-memorypipeline.yml b/.github/workflows/copilot-deploy-memorypipeline.yml deleted file mode 100644 index e32119133..000000000 --- a/.github/workflows/copilot-deploy-memorypipeline.yml +++ /dev/null @@ -1,68 +0,0 @@ -name: copilot-deploy-memorypipeline - -on: - workflow_call: - inputs: - ARTIFACT_NAME: - required: true - type: string - ENVIRONMENT: - required: true - type: string - DEPLOYMENT_NAME: - required: true - type: string - -permissions: - contents: read - id-token: write - -jobs: - memorypipeline: - environment: ${{inputs.ENVIRONMENT}} - strategy: - fail-fast: false - matrix: - include: - - { dotnet: "8.0", configuration: Release, os: ubuntu-latest } - - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - with: - clean: true - - - uses: actions/download-artifact@v4 - with: - name: ${{inputs.ARTIFACT_NAME}} - path: "${{ github.workspace }}/${{inputs.ARTIFACT_NAME}}" - - - name: "Display downloaded content" - run: ls -R - working-directory: "${{ github.workspace }}/${{inputs.ARTIFACT_NAME}}" - - - name: Azure login - uses: azure/login@v2 - with: - client-id: ${{vars.AZURE_GITHUB_ACCESS_APP_ID}} - tenant-id: ${{vars.AZURE_GITHUB_ACCESS_TENANT_ID}} - subscription-id: ${{vars.AZURE_GITHUB_ACCESS_SUB_ID}} - enable-AzPSSession: false - - - name: Get app name - run: | - WEB_APP_NAME=$(az deployment group show --name ${{inputs.DEPLOYMENT_NAME}} --resource-group ${{vars.CC_DEPLOYMENT_GROUP_NAME}} --output json | jq -r '.properties.outputs.memoryPipelineName.value') - echo "AZURE_WEBAPP_NAME=$WEB_APP_NAME" >> $GITHUB_ENV - - - name: Enable Run From Package - uses: azure/CLI@v2 - with: - azcliversion: 2.30.0 - inlineScript: | - az webapp config appsettings set --resource-group ${{vars.CC_DEPLOYMENT_GROUP_NAME}} --name ${{ env.AZURE_WEBAPP_NAME }} --settings WEBSITE_RUN_FROM_PACKAGE="1" -o none - - - name: "Deploy" - uses: azure/webapps-deploy@v3 - with: - app-name: ${{ env.AZURE_WEBAPP_NAME }} - package: "${{ github.workspace }}/${{inputs.ARTIFACT_NAME}}/memorypipeline.zip" diff --git a/.github/workflows/copilot-deploy-pipeline.yml b/.github/workflows/copilot-deploy-pipeline.yml deleted file mode 100644 index 8c43f126c..000000000 --- a/.github/workflows/copilot-deploy-pipeline.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: copilot-deploy-pipeline - -on: - workflow_dispatch: - push: - branches: ["main"] - -concurrency: - group: ${{ github.workflow }}-${{ github.ref_name }} - cancel-in-progress: true - -permissions: - contents: read - id-token: write - -jobs: - build-webapi: - uses: ./.github/workflows/copilot-build-backend.yml - - build-memorypipeline: - uses: ./.github/workflows/copilot-build-memorypipeline.yml - - build-plugins: - uses: ./.github/workflows/copilot-build-plugins.yml - - int: - needs: [build-webapi, build-memorypipeline, build-plugins] - uses: ./.github/workflows/copilot-deploy-environment.yml - with: - ENVIRONMENT: int - WEBAPI_ARTIFACT_NAME: ${{needs.build-webapi.outputs.artifact}} - MEMORYPIPELINE_ARTIFACT_NAME: ${{needs.build-memorypipeline.outputs.artifact}} - PLUGINS_ARTIFACT_NAME: ${{needs.build-plugins.outputs.artifact}} - - int-tests: - uses: ./.github/workflows/copilot-run-integration-tests.yml - needs: int - with: - BACKEND_HOST: ${{needs.int.outputs.backend-host}} - ENVIRONMENT: int - - stable: - needs: [int-tests, build-webapi, build-memorypipeline, build-plugins] - uses: ./.github/workflows/copilot-deploy-environment.yml - with: - ENVIRONMENT: stable - WEBAPI_ARTIFACT_NAME: ${{needs.build-webapi.outputs.artifact}} - MEMORYPIPELINE_ARTIFACT_NAME: ${{needs.build-memorypipeline.outputs.artifact}} - PLUGINS_ARTIFACT_NAME: ${{needs.build-plugins.outputs.artifact}} diff --git a/.github/workflows/copilot-deploy-plugins.yml b/.github/workflows/copilot-deploy-plugins.yml deleted file mode 100644 index ebc866533..000000000 --- a/.github/workflows/copilot-deploy-plugins.yml +++ /dev/null @@ -1,63 +0,0 @@ -name: copilot-deploy-plugins - -on: - workflow_call: - inputs: - ARTIFACT_NAME: - required: true - type: string - ENVIRONMENT: - required: true - type: string - DEPLOYMENT_NAME: - required: true - type: string - -permissions: - contents: read - id-token: write - -jobs: - plugins: - environment: ${{inputs.ENVIRONMENT}} - strategy: - fail-fast: false - matrix: - include: - - { dotnet: "8.0", configuration: Release, os: ubuntu-latest } - - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - with: - clean: true - - - name: Install Azure CLI - run: | - sudo apt update && sudo apt-get install curl -y - curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash - - - uses: actions/download-artifact@v4 - with: - name: ${{inputs.ARTIFACT_NAME}} - path: "${{ github.workspace }}/${{inputs.ARTIFACT_NAME}}" - - - name: "Display downloaded content" - run: ls -R - working-directory: "${{ github.workspace }}/${{inputs.ARTIFACT_NAME}}" - - - name: "Azure login" - uses: azure/login@v2 - with: - client-id: ${{vars.AZURE_GITHUB_ACCESS_APP_ID}} - tenant-id: ${{vars.AZURE_GITHUB_ACCESS_TENANT_ID}} - subscription-id: ${{vars.AZURE_GITHUB_ACCESS_SUB_ID}} - enable-AzPSSession: false - - - name: "Deploy" - run: | - scripts/deploy/deploy-plugins.sh \ - --deployment-name ${{inputs.DEPLOYMENT_NAME}} \ - --subscription ${{vars.AZURE_SUBSCRIPTION_ID}} \ - --resource-group ${{vars.CC_DEPLOYMENT_GROUP_NAME}} \ - --packages "${{ github.workspace }}/${{inputs.ARTIFACT_NAME}}"