Mobile Testops Report DAILY - Staging #1218
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Mobile Testops Report DAILY - Staging | |
| # Daily @4am UTC | |
| on: | |
| schedule: | |
| - cron: "0 4 * * *" | |
| workflow_dispatch: | |
| inputs: | |
| branchName: | |
| description: 'Default branch' | |
| required: true | |
| default: 'master' | |
| env: | |
| CLOUD_SQL_DATABASE_NAME: staging | |
| CLOUD_SQL_DATABASE_USERNAME: ${{ secrets.CLOUD_SQL_DATABASE_USERNAME }} | |
| CLOUD_SQL_DATABASE_PASSWORD: ${{ secrets.CLOUD_SQL_DATABASE_PASSWORD }} | |
| CLOUD_SQL_DATABASE_PORT: ${{ secrets.CLOUD_SQL_DATABASE_PORT }} | |
| TESTRAIL_HOST: ${{ secrets.TESTRAIL_HOST }} | |
| TESTRAIL_USERNAME: ${{ secrets.TESTRAIL_USERNAME }} | |
| TESTRAIL_PASSWORD: ${{ secrets.TESTRAIL_PASSWORD }} | |
| ATLASSIAN_API_TOKEN: ${{ secrets.ATLASSIAN_API_TOKEN }} | |
| ATLASSIAN_HOST: ${{ secrets.ATLASSIAN_HOST }} | |
| ATLASSIAN_USERNAME: ${{ secrets.ATLASSIAN_USERNAME }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| BUGZILLA_API_KEY: ${{ secrets.BUGZILLA_API_KEY }} | |
| BITRISE_HOST: ${{ secrets.BITRISE_HOST }} | |
| BITRISE_APP_SLUG: ${{ secrets.BITRISE_APP_SLUG }} | |
| BITRISE_TOKEN: ${{ secrets.BITRISE_TOKEN }} | |
| SENTRY_HOST: ${{ secrets.SENTRY_HOST }} | |
| SENTRY_API_TOKEN: ${{ secrets.SENTRY_API_TOKEN_CSO }} | |
| SENTRY_ORGANIZATION_SLUG: ${{ secrets.SENTRY_ORGANIZATION_SLUG }} | |
| SENTRY_IOS_PROJECT_ID: ${{ secrets.SENTRY_IOS_PROJECT_ID }} | |
| SENTRY_FENIX_PROJECT_ID: ${{ secrets.SENTRY_FENIX_PROJECT_ID }} | |
| SENTRY_FENIX_BETA_PROJECT_ID: ${{ secrets.SENTRY_FENIX_BETA_PROJECT_ID }} | |
| jobs: | |
| reports: | |
| name: Daily reports (${{ matrix.name }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| max-parallel: 6 | |
| matrix: | |
| include: | |
| - name: Jira QA Requests | |
| args: --platform mobile --project ALL --report-type jira-qa-requests | |
| - name: Jira Worklogs | |
| args: --report-type jira-softvision-worklogs | |
| - name: Bugzilla Desktop Bugs | |
| args: --report-type bugzilla-desktop-bugs | |
| - name: Bugzilla Release Flags | |
| args: --report-type bugzilla-desktop-release-flags-for-bugs | |
| - name: Bugzilla Android Memory Leaks | |
| args: --report-type bugzilla-meta-bugs --meta-bug-id 1935100 | |
| - name: Bugzilla Android UI Tests | |
| args: --report-type bugzilla-query-by-keyword --bz-keyword "ui-test-bug-auto-found" | |
| - name: Bitrise Builds Count | |
| args: --report-type bitrise-builds | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| cache: "pip" | |
| cache-dependency-path: requirements.txt | |
| - uses: mattes/gce-cloudsql-proxy-action@v1 | |
| with: | |
| creds: ${{ secrets.GCLOUD_AUTH }} | |
| instance: ${{ secrets.CLOUD_SQL_CONNECTION_NAME }} | |
| port: ${{ secrets.CLOUD_SQL_DATABASE_PORT }} | |
| proxy_version: "1.37.11" | |
| - run: pip install -r requirements.txt | |
| - run: python ./__main__.py ${{ matrix.args }} | |
| sentry: | |
| name: Sentry reports and notifications | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| cache: "pip" | |
| cache-dependency-path: requirements.txt | |
| - uses: mattes/gce-cloudsql-proxy-action@v1 | |
| with: | |
| creds: ${{ secrets.GCLOUD_AUTH }} | |
| instance: ${{ secrets.CLOUD_SQL_CONNECTION_NAME }} | |
| port: ${{ secrets.CLOUD_SQL_DATABASE_PORT }} | |
| proxy_version: "1.37.11" | |
| - run: pip install -r requirements.txt | |
| - name: Sentry query (iOS) | |
| run: | | |
| python __main__.py --report-type sentry-issues --project firefox-ios | |
| python __main__.py --report-type sentry-rates --project firefox-ios | |
| - name: Construct JSON for Slack (iOS) | |
| run: | | |
| python -m api.sentry.utils --file ./sentry_rates.csv --project firefox-ios | |
| ls sentry-slack-firefox-ios.json | |
| - name: Sentry query (Android) | |
| run: | | |
| python __main__.py --report-type sentry-issues --project fenix | |
| python __main__.py --report-type sentry-rates --project fenix | |
| - name: Construct JSON for Slack (Android) | |
| run: | | |
| python -m api.sentry.utils --file ./sentry_rates.csv --project fenix | |
| ls sentry-slack-fenix.json | |
| - name: Send health notification to Slack (Android) | |
| id: slack-sentry-fenix | |
| uses: slackapi/slack-github-action@v3.0.1 | |
| with: | |
| payload-file-path: "./sentry-slack-fenix.json" | |
| payload-templated: true | |
| webhook: ${{ secrets.SLACK_WEBHOOK_PRODUCT_HEALTH }} | |
| webhook-type: incoming-webhook | |
| - name: Sentry query (Android Beta) | |
| run: | | |
| python __main__.py --report-type sentry-issues --project fenix-beta | |
| python __main__.py --report-type sentry-rates --project fenix-beta | |
| - name: Construct JSON for Slack (Android Beta) | |
| run: | | |
| python -m api.sentry.utils --file ./sentry_rates.csv --project fenix-beta | |
| ls sentry-slack-fenix-beta.json | |
| - name: Send health notification to Slack (Android Beta) | |
| id: slack-sentry-fenix-beta | |
| uses: slackapi/slack-github-action@v3.0.1 | |
| with: | |
| payload-file-path: "./sentry-slack-fenix-beta.json" | |
| payload-templated: true | |
| webhook: ${{ secrets.SLACK_WEBHOOK_PRODUCT_HEALTH }} | |
| webhook-type: incoming-webhook | |
| - name: Notify Slack on any type of failure | |
| if: failure() | |
| uses: slackapi/slack-github-action@v3.0.1 | |
| with: | |
| payload: | | |
| { | |
| "text": ":x: *Sentry report failed*\nWorkflow: <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|${{ github.workflow }} #${{ github.run_number }}>", | |
| "blocks": [ | |
| { | |
| "type": "section", | |
| "text": { | |
| "type": "mrkdwn", | |
| "text": ":x: *Sentry report failed*\nWorkflow: <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|${{ github.workflow }} #${{ github.run_number }}>" | |
| } | |
| }, | |
| { | |
| "type": "divider" | |
| }, | |
| { | |
| "type": "context", | |
| "elements": [ | |
| { | |
| "type": "mrkdwn", | |
| "text": ":testops-notify: Created by Mobile Test Engineering" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| webhook: ${{ secrets.SLACK_WEBHOOK_URL_TEST_ALERTS_SANDBOX }} | |
| webhook-type: incoming-webhook |