Desktop Testops Report WEEKLY - Staging #32
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: Desktop Testops Report WEEKLY - Staging | |
| # Monday @8am CET | |
| on: | |
| schedule: | |
| - cron: "0 8 * * 1" | |
| workflow_dispatch: | |
| jobs: | |
| reports: | |
| name: Weekly reports (${{ matrix.name }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| max-parallel: 4 | |
| matrix: | |
| include: | |
| - name: Query Test Plans and Runs | |
| args: --report-type testrail-test-results --project firefox-desktop | |
| - name: Query Test Run Average Health | |
| args: --report-type testrail-test-health --project firefox-desktop --platform desktop --num-days 7 | |
| - name: Query Bugzilla Release Flags Bugs | |
| args: --report-type bugzilla-desktop-release-flags-for-bugs | |
| - name: Query Bugzilla Overall Bugs | |
| args: --report-type bugzilla-desktop-overall-bugs | |
| steps: | |
| - name: Check out source repository | |
| uses: actions/checkout@v6 | |
| - name: Setup python | |
| uses: actions/setup-python@v6 | |
| - name: Establish Cloud SQL Proxy | |
| 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" | |
| - name: Install requirements | |
| run: pip install -r requirements.txt | |
| - name: Set env vars | |
| run: | | |
| echo "CLOUD_SQL_DATABASE_USERNAME=${{ secrets.CLOUD_SQL_DATABASE_USERNAME }}" >> $GITHUB_ENV | |
| echo "CLOUD_SQL_DATABASE_PASSWORD=${{ secrets.CLOUD_SQL_DATABASE_PASSWORD }}" >> $GITHUB_ENV | |
| echo "CLOUD_SQL_DATABASE_NAME=staging" >> $GITHUB_ENV | |
| echo "CLOUD_SQL_DATABASE_PORT=${{ secrets.CLOUD_SQL_DATABASE_PORT }}" >> $GITHUB_ENV | |
| echo "TESTRAIL_HOST=${{ secrets.TESTRAIL_HOST }}" >> $GITHUB_ENV | |
| echo "TESTRAIL_USERNAME=${{ secrets.TESTRAIL_USERNAME }}" >> $GITHUB_ENV | |
| echo "TESTRAIL_PASSWORD=${{ secrets.TESTRAIL_PASSWORD }}" >> $GITHUB_ENV | |
| echo "GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV | |
| echo "ATLASSIAN_API_TOKEN=${{ secrets.ATLASSIAN_API_TOKEN }}" >> $GITHUB_ENV | |
| echo "ATLASSIAN_HOST=${{ secrets.ATLASSIAN_HOST }}" >> $GITHUB_ENV | |
| echo "ATLASSIAN_USERNAME=${{ secrets.ATLASSIAN_USERNAME }}" >> $GITHUB_ENV | |
| echo "BUGZILLA_API_KEY=${{ secrets.BUGZILLA_API_KEY }}" >> $GITHUB_ENV | |
| echo "JIRA_HOST=${{ secrets.JIRA_HOST }}" >> $GITHUB_ENV | |
| echo "JIRA_USER=${{ secrets.JIRA_USER }}" >> $GITHUB_ENV | |
| echo "JIRA_PASSWORD=${{ secrets.JIRA_PASSWORD }}" >> $GITHUB_ENV | |
| - run: python ./__main__.py ${{ matrix.args }} | |
| continue-on-error: true | |
| notify: | |
| name: Send workflow status notification | |
| runs-on: ubuntu-latest | |
| needs: [reports] | |
| if: always() | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set job log URL | |
| run: echo "JOB_LOG_URL=https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" >> $GITHUB_ENV | |
| - name: Send workflow status to Slack | |
| uses: slackapi/slack-github-action@v2.1.1 | |
| env: | |
| WORKFLOW_NAME: ${{ github.workflow }} | |
| BRANCH: ${{ github.head_ref || github.ref_name }} | |
| JOB_STATUS: ${{ job.status == 'success' && ':white_check_mark:' || job.status == 'failure' && ':x:' }} | |
| JOB_STATUS_COLOR: ${{ job.status == 'success' && '#36a64f' || job.status == 'failure' && '#FF0000' }} | |
| SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_MOBILE_ALERTS_TOOLING }} | |
| SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK | |
| with: | |
| webhook: ${{ secrets.SLACK_WEBHOOK_URL_MOBILE_ALERTS_TOOLING }} | |
| webhook-type: webhook-trigger | |
| payload-templated: true | |
| payload-file-path: "./config/payload-slack-content.json" |