Skip to content

Download tests for 2a4b47609b41ea5b1f329feffb8a320dc91acc74 #571

Download tests for 2a4b47609b41ea5b1f329feffb8a320dc91acc74

Download tests for 2a4b47609b41ea5b1f329feffb8a320dc91acc74 #571

# Workflow that runs download-link tests on live infra
name: Download tests
run-name: Download tests for ${{ github.sha }}
env:
SLACK_CHANNEL_ID: CBX0KH5GA # #www-notify in MoCo Slack
SLACK_BOT_TOKEN: ${{secrets.SLACK_BOT_TOKEN_FOR_MEAO_NOTIFICATIONS_APP}}
on:
schedule:
- cron: "0 14 * * *" # 2pm daily
workflow_dispatch:
inputs:
mozorg_service_hostname:
description: The root URL of the Mozorg service to run tests against. eg 'https://www.mozilla.org'
required: true
jobs:
notify-of-test-run-start:
if: github.repository == 'mozilla/bedrock'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Notify via Slack that tests are starting
uses: ./.github/actions/slack
with:
env_name: test
label: "Download tests [${{ github.sha }}]"
status: info
channel_id: ${{ env.SLACK_CHANNEL_ID }}
slack_bot_token: ${{ env.SLACK_BOT_TOKEN }}
ref: ${{ github.sha }}
message: "Download tests started"
download-tests:
runs-on: ubuntu-latest
needs: notify-of-test-run-start
env:
BASE_URL: ${{ github.event.inputs.mozorg_service_hostname || 'https://www.mozilla.org' }} # Mozorg base URL
BROWSER_NAME: firefox
CI_JOB_ID: ${{ github.run_id }}
DRIVER: ""
LABEL: test-downloads
MARK_EXPRESSION: download
PYTEST_PROCESSES: auto
SAUCELABS_API_KEY: ""
SAUCELABS_USERNAME: ""
# Note we use if: always() below to keep things going, rather than
# continue-on-error, because that approach falsely marks the overall
# test suite as green/passed even if it has some failures.
steps:
- name: Fetch codebase
uses: actions/checkout@v4
- name: Run functional download tests
run: ./bin/integration_tests/functional_tests.sh
env:
TEST_IMAGE: mozmeao/bedrock_test:${{ github.sha }}
- name: Cleanup after functional download tests
run: ./bin/integration_tests/cleanup_after_functional_tests.sh
- name: Store artifacts
uses: actions/upload-artifact@v4
with:
name: test-results
path: results-${{github.run_id}}
if-no-files-found: ignore # this avoids a false "Warning" if there were no issues
notify-of-test-run-completion:
if: github.repository == 'mozilla/bedrock' && always()
runs-on: ubuntu-latest
needs: [notify-of-test-run-start, download-tests]
steps:
- uses: actions/checkout@v4
- name: Notify via Slack of test-run outcome
uses: ./.github/actions/slack
with:
env_name: test
label: "Download tests [${{ github.sha }}]"
status: ${{ needs.download-tests.result }}
channel_id: ${{ env.SLACK_CHANNEL_ID }}
slack_bot_token: ${{ env.SLACK_BOT_TOKEN }}
ref: ${{ github.sha }}
message: "Download tests completed. Status: ${{ needs.download-tests.result }}"