Mobile Testops Report DAILY - Staging #1045
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 }} | |
| JIRA_HOST: ${{ secrets.JIRA_HOST }} | |
| JIRA_USER: ${{ secrets.JIRA_USER }} | |
| JIRA_PASSWORD: ${{ secrets.JIRA_PASSWORD }} | |
| 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@v5 | |
| - 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 }} | |
| - 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@v5 | |
| - 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 }} | |
| - 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/[email protected] | |
| 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/[email protected] | |
| with: | |
| payload-file-path: "./sentry-slack-fenix-beta.json" | |
| payload-templated: true | |
| webhook: ${{ secrets.SLACK_WEBHOOK_PRODUCT_HEALTH }} | |
| webhook-type: incoming-webhook |