-
Notifications
You must be signed in to change notification settings - Fork 918
74 lines (70 loc) · 2.56 KB
/
a11y_tests.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Workflow that runs accessibility tests once per day against dev infra.
name: Accessibility Tests
run-name: Accessibility 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 15 * * *" # 3pm daily
workflow_dispatch:
inputs:
mozorg_service_hostname:
description: The root URL 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: "Accessibility Tests [${{ github.sha }}]"
status: info
channel_id: ${{ env.SLACK_CHANNEL_ID }}
slack_bot_token: ${{ env.SLACK_BOT_TOKEN }}
ref: ${{ github.sha }}
message: "Accessibility Tests started"
accessibility-tests:
runs-on: ubuntu-latest
needs: notify-of-test-run-start
env:
PLAYWRIGHT_BASE_URL: ${{ github.event.inputs.mozorg_service_hostname || 'https://dev.bedrock.nonprod.webservices.mozgcp.net' }}
CI: true
CI_JOB_ID: ${{ github.run_id }}
DRIVER: ""
LABEL: accessibility-tests
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: cd tests/playwright && npm ci && npm run install-deps
- name: Run accessibility tests
run: cd tests/playwright && npm run a11y-tests
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: test-results-a11y-${{ github.sha }}
path: tests/playwright/test-results-a11y/
retention-days: 30
notify-of-test-run-completion:
if: github.repository == 'mozilla/bedrock' && always()
runs-on: ubuntu-latest
needs: [notify-of-test-run-start, accessibility-tests]
steps:
- uses: actions/checkout@v4
- name: Notify via Slack of test-run outcome
uses: ./.github/actions/slack
with:
env_name: test
label: "Accessibility tests [${{ github.sha }}]"
status: ${{ needs.accessibility-tests.result }}
channel_id: ${{ env.SLACK_CHANNEL_ID }}
slack_bot_token: ${{ env.SLACK_BOT_TOKEN }}
ref: ${{ github.sha }}
message: "Accessibility tests completed. Status: ${{ needs.accessibility-tests.result }}"