From 7b83626adbe74950006252c1be540c64a09cc22e Mon Sep 17 00:00:00 2001 From: neha_gupta Date: Fri, 5 May 2023 14:46:48 +0530 Subject: [PATCH] Choose test Account using round robin (#3287) Use Round Robin to choose account for testing to avoid conflicts. #### Does this PR need a docs update or release note? - [ ] :white_check_mark: Yes, it's included - [ ] :clock1: Yes, but in a later PR - [x] :no_entry: No #### Type of change - [ ] :sunflower: Feature - [ ] :bug: Bugfix - [ ] :world_map: Documentation - [x] :robot: Supportability/Tests - [ ] :computer: CI/Deployment - [ ] :broom: Tech Debt/Cleanup #### Issue(s) * # #### Test Plan - [ ] :muscle: Manual - [ ] :zap: Unit test - [x] :green_heart: E2E --- .github/workflows/accSelector.yaml | 2 +- .github/workflows/ci.yml | 33 +----------------------------- .github/workflows/nightly_test.yml | 33 +----------------------------- .github/workflows/sanity-test.yaml | 22 ++++++++++++-------- 4 files changed, 16 insertions(+), 74 deletions(-) diff --git a/.github/workflows/accSelector.yaml b/.github/workflows/accSelector.yaml index 2340d2427..6030c9002 100644 --- a/.github/workflows/accSelector.yaml +++ b/.github/workflows/accSelector.yaml @@ -43,4 +43,4 @@ jobs: echo "CLIENT_ID_ENV=CLIENT_ID_4" >> $GITHUB_OUTPUT echo "CLIENT_SECRET_ENV=CLIENT_SECRET_4" >> $GITHUB_OUTPUT ;; - esac \ No newline at end of file + esac diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d5052d58e..2771a4b95 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,38 +52,7 @@ jobs: # SetM365App will decide which M365 app to use for this CI run SetM365App: - environment: Testing - runs-on: ubuntu-latest - outputs: - client_app_slot: ${{ steps.roundrobin.outputs.CLIENT_APP_SLOT }} - client_id_env: ${{ steps.roundrobin.outputs.CLIENT_ID_ENV }} - client_secret_env: ${{ steps.roundrobin.outputs.CLIENT_SECRET_ENV }} - steps: - - name: Figure out which client id to use - id: roundrobin - run: | - slot=$((GITHUB_RUN_NUMBER % 4)) - echo "CLIENT_APP_SLOT=$slot" >> $GITHUB_OUTPUT - - case $slot in - - 0) - echo "CLIENT_ID_ENV=CLIENT_ID" >> $GITHUB_OUTPUT - echo "CLIENT_SECRET_ENV=CLIENT_SECRET" >> $GITHUB_OUTPUT - ;; - 1) - echo "CLIENT_ID_ENV=CLIENT_ID_2" >> $GITHUB_OUTPUT - echo "CLIENT_SECRET_ENV=CLIENT_SECRET_2" >> $GITHUB_OUTPUT - ;; - 2) - echo "CLIENT_ID_ENV=CLIENT_ID_3" >> $GITHUB_OUTPUT - echo "CLIENT_SECRET_ENV=CLIENT_SECRET_3" >> $GITHUB_OUTPUT - ;; - 3) - echo "CLIENT_ID_ENV=CLIENT_ID_4" >> $GITHUB_OUTPUT - echo "CLIENT_SECRET_ENV=CLIENT_SECRET_4" >> $GITHUB_OUTPUT - ;; - esac + uses: alcionai/corso/.github/workflows/accSelector.yaml@main SetEnv: environment: Testing diff --git a/.github/workflows/nightly_test.yml b/.github/workflows/nightly_test.yml index 14253201e..ccc93fdce 100644 --- a/.github/workflows/nightly_test.yml +++ b/.github/workflows/nightly_test.yml @@ -41,38 +41,7 @@ jobs: # SetM365App will decide which M365 app to use for this CI run SetM365App: - environment: Testing - runs-on: ubuntu-latest - outputs: - client_app_slot: ${{ steps.roundrobin.outputs.CLIENT_APP_SLOT }} - client_id_env: ${{ steps.roundrobin.outputs.CLIENT_ID_ENV }} - client_secret_env: ${{ steps.roundrobin.outputs.CLIENT_SECRET_ENV }} - steps: - - name: Figure out which client id to use - id: roundrobin - run: | - slot=$((GITHUB_RUN_NUMBER % 4)) - echo "CLIENT_APP_SLOT=$slot" >> $GITHUB_OUTPUT - - case $slot in - - 0) - echo "CLIENT_ID_ENV=CLIENT_ID" >> $GITHUB_OUTPUT - echo "CLIENT_SECRET_ENV=CLIENT_SECRET" >> $GITHUB_OUTPUT - ;; - 1) - echo "CLIENT_ID_ENV=CLIENT_ID_2" >> $GITHUB_OUTPUT - echo "CLIENT_SECRET_ENV=CLIENT_SECRET_2" >> $GITHUB_OUTPUT - ;; - 2) - echo "CLIENT_ID_ENV=CLIENT_ID_3" >> $GITHUB_OUTPUT - echo "CLIENT_SECRET_ENV=CLIENT_SECRET_3" >> $GITHUB_OUTPUT - ;; - 3) - echo "CLIENT_ID_ENV=CLIENT_ID_4" >> $GITHUB_OUTPUT - echo "CLIENT_SECRET_ENV=CLIENT_SECRET_4" >> $GITHUB_OUTPUT - ;; - esac + uses: alcionai/corso/.github/workflows/accSelector.yaml@main SetEnv: environment: Testing diff --git a/.github/workflows/sanity-test.yaml b/.github/workflows/sanity-test.yaml index 410ffe589..20f830b82 100644 --- a/.github/workflows/sanity-test.yaml +++ b/.github/workflows/sanity-test.yaml @@ -19,14 +19,18 @@ concurrency: cancel-in-progress: true jobs: + SetM365App: + uses: alcionai/corso/.github/workflows/accSelector.yaml@main + Sanity-Tests: + needs: [ SetM365App ] environment: Testing runs-on: ubuntu-latest env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY_SECRET }} - AZURE_CLIENT_ID: ${{ secrets.CLIENT_ID }} - AZURE_CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }} + AZURE_CLIENT_ID: ${{ secrets[needs.SetM365App.outputs.client_id_env] }} + AZURE_CLIENT_SECRET: ${{ secrets[needs.SetM365App.outputs.client_secret_env] }} AZURE_TENANT_ID: ${{ secrets.TENANT_ID }} CORSO_BUCKET: ${{ secrets.CI_TESTS_S3_BUCKET }} CORSO_LOG_DIR: testlog @@ -114,8 +118,8 @@ jobs: - name: New Data Creation working-directory: ./src/cmd/factory env: - AZURE_CLIENT_ID: ${{ secrets.CLIENT_ID }} - AZURE_CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }} + AZURE_CLIENT_ID: ${{ secrets[needs.SetM365App.outputs.client_id_env] }} + AZURE_CLIENT_SECRET: ${{ secrets[needs.SetM365App.outputs.client_secret_env] }} AZURE_TENANT_ID: ${{ secrets.TENANT_ID }} run: | go run . exchange emails \ @@ -257,8 +261,8 @@ jobs: id: new-data-creation-onedrive working-directory: ./src/cmd/factory env: - AZURE_CLIENT_ID: ${{ secrets.CLIENT_ID }} - AZURE_CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }} + AZURE_CLIENT_ID: ${{ secrets[needs.SetM365App.outputs.client_id_env] }} + AZURE_CLIENT_SECRET: ${{ secrets[needs.SetM365App.outputs.client_secret_env] }} AZURE_TENANT_ID: ${{ secrets.TENANT_ID }} run: | suffix=`date +"%Y-%m-%d_%H-%M"` @@ -355,8 +359,8 @@ jobs: - name: New Data Creation for Incremental OneDrive working-directory: ./src/cmd/factory env: - AZURE_CLIENT_ID: ${{ secrets.CLIENT_ID }} - AZURE_CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }} + AZURE_CLIENT_ID: ${{ secrets[needs.SetM365App.outputs.client_id_env] }} + AZURE_CLIENT_SECRET: ${{ secrets[needs.SetM365App.outputs.client_secret_env] }} AZURE_TENANT_ID: ${{ secrets.TENANT_ID }} run: | go run . onedrive files \ @@ -573,7 +577,7 @@ jobs: echo SHA=${GITHUB_REF#refs/heads/}-${GITHUB_SHA} >> $GITHUB_OUTPUT echo RUN_URL=${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} >> $GITHUB_OUTPUT echo COMMIT_URL=${{ github.server_url }}/${{ github.repository }}/commit/${GITHUB_SHA} >> $GITHUB_OUTPUT - + - name: Send Github Action failure to Slack id: slack-notification if: failure()