CDN tests for 3d20b687967f63ebf47f06290432335993eb83f6 #442
This file contains 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
# 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 }}" |