Skip to content

CDN tests for a052e865c6d8ecd8c079a370ae5abdd99bb50ed4 #21

CDN tests for a052e865c6d8ecd8c079a370ae5abdd99bb50ed4

CDN tests for a052e865c6d8ecd8c079a370ae5abdd99bb50ed4 #21

Workflow file for this run

# Workflow that runs download-link tests on live infra
name: CDN tests
run-name: CDN 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 11 * * *" # 11am 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
concurrency:
group: cdn-tests
cancel-in-progress: false
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: "CDN tests [${{ github.sha }}]"
status: info
channel_id: ${{ env.SLACK_CHANNEL_ID }}
slack_bot_token: ${{ env.SLACK_BOT_TOKEN }}
ref: ${{ github.sha }}
message: "CDN tests started"
cdn-tests:
runs-on: ubuntu-latest
needs: notify-of-test-run-start
strategy:
matrix:
include:
- LABEL: "General CDN Tests"
SHARD_LABEL: "general-cdn-tests"
MARK_EXPRESSION: "cdn and not cdnprod"
- LABEL: "Prod-only CDN Tests"
SHARD_LABEL: "prod-only-cdn-tests"
MARK_EXPRESSION: cdnprod
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: ${{ matrix.LABEL }}
MARK_EXPRESSION: ${{ matrix.MARK_EXPRESSION }}
PYTEST_PROCESSES: auto
SAUCELABS_API_KEY: ""
SAUCELABS_USERNAME: ""
RERUNS_ALLOWED: 3
RERUNS_DELAY_SECS: 60
# 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 CDN tests
run: ./bin/integration_tests/functional_tests.sh
env:
TEST_IMAGE: mozmeao/bedrock_test:${{ github.sha }}
- name: Cleanup CDN tests
run: ./bin/integration_tests/cleanup_after_functional_tests.sh
- name: Store artifacts
uses: actions/upload-artifact@v4
with:
name: test-results-${{github.run_id}}-${{ matrix.SHARD_LABEL }}
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, cdn-tests]
steps:
- uses: actions/checkout@v4
- name: Notify via Slack of test-run outcome
uses: ./.github/actions/slack
with:
env_name: test
label: "CDN tests [${{ github.sha }}]"
status: ${{ needs.cdn-tests.result }}
channel_id: ${{ env.SLACK_CHANNEL_ID }}
slack_bot_token: ${{ env.SLACK_BOT_TOKEN }}
ref: ${{ github.sha }}
message: "CDN tests completed. Status: ${{ needs.cdn-tests.result }}"