From ce8743cd68fa8666fd89cd4769d0060fcf7bb23c Mon Sep 17 00:00:00 2001 From: ckoegel Date: Fri, 7 Feb 2025 15:11:57 -0500 Subject: [PATCH 1/2] SWI-6937 Add Smoke Tests for UP Account --- .github/workflows/deploy.yml | 89 ++------------------------------ .github/workflows/test-smoke.yml | 67 ++++++++++++++++++------ 2 files changed, 56 insertions(+), 100 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 14f79a0b..14dc02f3 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -6,87 +6,8 @@ on: - published jobs: - deploy_pre_release: - name: Deploy OpenAPI Generator Client Pre-Release to PYPI - if: ${{ github.event.release.prerelease && github.event.release.target_commitish == 'feature/openapi-generator-sdk' }} - runs-on: ubuntu-latest - env: - BW_ACCOUNT_ID: ${{ secrets.BW_ACCOUNT_ID }} - BW_USERNAME: ${{ secrets.BW_USERNAME }} - BW_PASSWORD: ${{ secrets.BW_PASSWORD }} - BW_USERNAME_FORBIDDEN: ${{ secrets.BW_USERNAME_FORBIDDEN }} - BW_PASSWORD_FORBIDDEN: ${{ secrets.BW_PASSWORD_FORBIDDEN }} - BW_VOICE_APPLICATION_ID: ${{ secrets.BW_VOICE_APPLICATION_ID }} - BW_MESSAGING_APPLICATION_ID: ${{ secrets.BW_MESSAGING_APPLICATION_ID }} - BW_NUMBER: ${{ secrets.BW_NUMBER }} - USER_NUMBER: ${{ secrets.USER_NUMBER }} - VZW_NUMBER: ${{ secrets.VZW_NUMBER }} - ATT_NUMBER: ${{ secrets.ATT_NUMBER }} - T_MOBILE_NUMBER: ${{ secrets.T_MOBILE_NUMBER }} - BASE_CALLBACK_URL: ${{ secrets.BASE_CALLBACK_URL }} - PYTHON_VERSION: ${{ matrix.python-version }} - OPERATING_SYSTEM: ${{ matrix.os }} - MANTECA_ACTIVE_NUMBER: ${{ secrets.MANTECA_ACTIVE_NUMBER }} - MANTECA_IDLE_NUMBER: ${{ secrets.MANTECA_IDLE_NUMBER }} - MANTECA_BASE_URL: ${{ secrets.MANTECA_BASE_URL }} - MANTECA_APPLICATION_ID: ${{ secrets.MANTECA_APPLICATION_ID }} - steps: - - name: Set Release Version - run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV - - - name: Check Release Tag Format - run: | - re=[0-9]+\.[0-9]+\.[0-9]+b[0-9]+ - if ! [[ $RELEASE_VERSION =~ $re ]]; then - echo 'Tag does not match expected regex pattern for beta releases (v[0-9]+.[0-9]+.[0-9]+b[0-9]+)' - echo $RELEASE_VERSION - echo 'Please update your tag to match the expected regex pattern' - exit 1 - fi - - - name: Checkout - uses: actions/checkout@v4 - with: - ref: feature/openapi-generator-sdk - - - name: Build SDK - uses: Bandwidth/generate-sdk-action@v4.0.0 - with: - openapi-generator-version: 7.7.0 - language: python - additional-properties: --additional-properties=packageVersion=$RELEASE_VERSION - - - name: Install Packages - run: | - pip install -r requirements.txt - pip install -r test-requirements.txt - - - name: Test - run: | - npm install -g @stoplight/prism-cli - prism mock ./bandwidth.yml & pytest -v ./test/unit - - - - name: Deploy to PYPI - run: | - pip install twine - pip install wheel - python setup.py sdist bdist_wheel - twine upload dist/* -u __token__ -p $PYPI_API_KEY - env: - PYPI_USERNAME: ${{ secrets.PYPI_USERNAME }} - PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }} - - - uses: Bandwidth/build-notify-slack-action@v2.0.0 - if: always() - with: - job-status: ${{ job.status }} - slack-bot-token: ${{ secrets.SLACK_BOT_TOKEN }} - slack-channel: ${{ secrets.SLACK_CHANNEL }} - deploy: - name: Deploy `main` to PYPI - if: ${{ !github.event.release.prerelease && github.event.release.target_commitish == 'main' }} + name: Deploy SDK to PYPI runs-on: ubuntu-latest env: BW_ACCOUNT_ID: ${{ secrets.BW_ACCOUNT_ID }} @@ -108,6 +29,7 @@ jobs: MANTECA_IDLE_NUMBER: ${{ secrets.MANTECA_IDLE_NUMBER }} MANTECA_BASE_URL: ${{ secrets.MANTECA_BASE_URL }} MANTECA_APPLICATION_ID: ${{ secrets.MANTECA_APPLICATION_ID }} + steps: - name: Set Release Version run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV @@ -132,13 +54,10 @@ jobs: language: python additional-properties: --additional-properties=packageVersion=$RELEASE_VERSION - - name: Install Packages - run: |- + - name: Install Packages and Test + run: | pip install -r requirements.txt pip install -r test-requirements.txt - - - name: Test - run: |- npm install -g @stoplight/prism-cli prism mock ./bandwidth.yml & pytest -v ./test/unit shell: bash diff --git a/.github/workflows/test-smoke.yml b/.github/workflows/test-smoke.yml index 918f3226..cb62f0f1 100644 --- a/.github/workflows/test-smoke.yml +++ b/.github/workflows/test-smoke.yml @@ -3,6 +3,10 @@ name: Smoke Tests on: schedule: - cron: "0 4 * * *" + pull_request: + paths: + - 'test/smoke/**' + - ".github/workflows/test-smoke.yml" workflow_dispatch: inputs: logLevel: @@ -13,43 +17,76 @@ on: options: - WARNING - DEBUG - pull_request: - branches: - - main - paths: - - 'test/smoke/**' concurrency: group: ${{ github.workflow }}-${{ github.head_ref }} cancel-in-progress: true env: - BW_ACCOUNT_ID: ${{ secrets.BW_ACCOUNT_ID }} + PYTHON_VERSION: '3.12' + OPERATING_SYSTEM: ubuntu BW_USERNAME: ${{ secrets.BW_USERNAME }} BW_PASSWORD: ${{ secrets.BW_PASSWORD }} BW_USERNAME_FORBIDDEN: ${{ secrets.BW_USERNAME_FORBIDDEN }} BW_PASSWORD_FORBIDDEN: ${{ secrets.BW_PASSWORD_FORBIDDEN }} - BW_VOICE_APPLICATION_ID: ${{ secrets.BW_VOICE_APPLICATION_ID }} - BW_MESSAGING_APPLICATION_ID: ${{ secrets.BW_MESSAGING_APPLICATION_ID }} - BW_NUMBER: ${{ secrets.BW_NUMBER }} USER_NUMBER: ${{ secrets.USER_NUMBER }} VZW_NUMBER: ${{ secrets.VZW_NUMBER }} ATT_NUMBER: ${{ secrets.ATT_NUMBER }} T_MOBILE_NUMBER: ${{ secrets.T_MOBILE_NUMBER }} BASE_CALLBACK_URL: ${{ secrets.BASE_CALLBACK_URL }} - MANTECA_ACTIVE_NUMBER: ${{ secrets.MANTECA_ACTIVE_NUMBER }} - MANTECA_IDLE_NUMBER: ${{ secrets.MANTECA_IDLE_NUMBER }} MANTECA_BASE_URL: ${{ secrets.MANTECA_BASE_URL }} - MANTECA_APPLICATION_ID: ${{ secrets.MANTECA_APPLICATION_ID }} jobs: test: name: Smoke Test runs-on: ubuntu-latest env: - PYTHON_VERSION: '3.12' - OPERATING_SYSTEM: ubuntu + BW_ACCOUNT_ID: ${{ secrets.BW_ACCOUNT_ID }} + BW_VOICE_APPLICATION_ID: ${{ secrets.BW_VOICE_APPLICATION_ID }} + BW_MESSAGING_APPLICATION_ID: ${{ secrets.BW_MESSAGING_APPLICATION_ID }} + BW_NUMBER: ${{ secrets.BW_NUMBER }} + MANTECA_ACTIVE_NUMBER: ${{ secrets.MANTECA_ACTIVE_NUMBER }} + MANTECA_IDLE_NUMBER: ${{ secrets.MANTECA_IDLE_NUMBER }} + MANTECA_APPLICATION_ID: ${{ secrets.MANTECA_APPLICATION_ID }} + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.12' + + - name: Install Packages + run: | + pip install -r requirements.txt + pip install -r test-requirements.txt + + - name: Test at Debug Level + if: ${{ inputs.logLevel == 'DEBUG' }} + run: | + echo "Log level: DEBUG" + pytest -v --log-cli-level=DEBUG + shell: bash + + - name: Test at Warning Level + if: ${{( inputs.logLevel == null) || ( inputs.logLevel == 'WARNING') }} + run: | + echo "Log level: WARNING" + pytest -v --log-cli-level=WARNING ./test/smoke + shell: bash + + test_up: + name: Smoke Test UP Account + runs-on: ubuntu-latest + env: + BW_ACCOUNT_ID: ${{ secrets.BW_UP_ACCOUNT_ID }} + BW_VOICE_APPLICATION_ID: ${{ secrets.BW_UP_VOICE_APPLICATION_ID }} + BW_MESSAGING_APPLICATION_ID: ${{ secrets.BW_UP_MESSAGING_APPLICATION_ID }} + BW_NUMBER: ${{ secrets.BW_UP_NUMBER }} + MANTECA_ACTIVE_NUMBER: ${{ secrets.MANTECA_UP_ACTIVE_NUMBER }} + MANTECA_IDLE_NUMBER: ${{ secrets.MANTECA_UP_IDLE_NUMBER }} + MANTECA_APPLICATION_ID: ${{ secrets.MANTECA_UP_APPLICATION_ID }} steps: - name: Checkout uses: actions/checkout@v4 @@ -80,7 +117,7 @@ jobs: notify_for_failures: name: Notify for Failures - needs: [test] + needs: [test, test_up] if: failure() runs-on: ubuntu-latest steps: From 6ca6e70b96c9bf7c875415d6923a3d00316be751 Mon Sep 17 00:00:00 2001 From: ckoegel Date: Fri, 7 Feb 2025 15:18:34 -0500 Subject: [PATCH 2/2] step name --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 14dc02f3..3b4e9a1b 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -47,7 +47,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Build SDK + - name: Generate SDK with Updated Version uses: Bandwidth/generate-sdk-action@v4.0.0 with: openapi-generator-version: 7.7.0