Skip to content

Mobile Testops Report DAILY - Staging #1045

Mobile Testops Report DAILY - Staging

Mobile Testops Report DAILY - Staging #1045

Workflow file for this run

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