Accessibility Tests for c51c101092b97977a46694a978ff3a390e2f3801 #416
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
| # 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: | |
| springfield_service_hostname: | |
| description: The root URL to run tests against. eg "https://www.firefox.com/" | |
| required: true | |
| jobs: | |
| notify-of-test-run-start: | |
| if: github.repository == 'mozmeao/springfield' | |
| 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.springfield_service_hostname || 'https://dev.springfield.nonprod.webservices.mozgcp.net' }} | |
| CI: true | |
| 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/ | |
| if-no-files-found: ignore # this avoids a false "Warning" if there were no issues | |
| retention-days: 30 | |
| notify-of-test-run-completion: | |
| if: github.repository == 'mozmeao/springfield' && 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 }}" |