feat: move away from allure #6
Workflow file for this run
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
name: Screen Reader Test Preview | |
on: | |
pull_request: | |
branches: [main] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | |
permissions: | |
contents: read | |
deployments: write | |
pages: write | |
id-token: write | |
pull-requests: write | |
# Allow one concurrent deployment | |
concurrency: | |
group: "aria-at-tests-preview" | |
cancel-in-progress: true | |
jobs: | |
macos-install: | |
name: MacOS Install | |
runs-on: macos-12 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
- name: Cache node_modules | |
uses: actions/cache@v3 | |
id: cache-macos-node-modules | |
with: | |
path: | | |
node_modules | |
key: macos-modules-${{ hashFiles('yarn.lock') }}-${{ hashFiles('package.json') }} | |
- name: Cache Playwright binaries | |
uses: actions/cache@v3 | |
id: cache-macos-playwright | |
with: | |
path: | | |
~/Library/Caches/ms-playwright | |
key: macos-playwright-${{ hashFiles('yarn.lock') }}-${{ hashFiles('package.json') }} | |
- name: Cache Test Suites | |
uses: actions/cache@v3 | |
id: cache-macos-test-suites | |
with: | |
path: | | |
testSuites.json | |
key: macos-testSuites-${{ hashFiles('aria-at') }}-${{ hashFiles('ignoredTests.json') }} | |
- name: Install Dependencies | |
if: steps.cache-macos-node-modules.outputs.cache-hit != 'true' | |
run: yarn install --frozen-lockfile | |
- name: Install Playwright Browsers | |
if: steps.cache-macos-playwright.outputs.cache-hit != 'true' | |
run: yarn test:install | |
- name: Generate Test Suites | |
if: steps.cache-macos-test-suites.outputs.cache-hit != 'true' | |
run: yarn test:generate | |
windows-install: | |
name: Windows Install | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
- name: Cache node_modules | |
uses: actions/cache@v3 | |
id: cache-windows-node-modules | |
with: | |
path: | | |
node_modules | |
key: windows-modules-${{ hashFiles('yarn.lock') }}-${{ hashFiles('package.json') }} | |
- name: Cache Playwright binaries | |
uses: actions/cache@v3 | |
id: cache-windows-playwright | |
with: | |
path: | | |
C:\Users\runneradmin\AppData\Local\ms-playwright | |
key: windows-playwright-${{ hashFiles('yarn.lock') }}-${{ hashFiles('package.json') }} | |
- name: Cache Test Suites | |
uses: actions/cache@v3 | |
id: cache-windows-test-suites | |
with: | |
path: | | |
testSuites.json | |
key: windows-testSuites-${{ hashFiles('aria-at') }}-${{ hashFiles('ignoredTests.json') }} | |
- name: Install Dependencies | |
if: steps.cache-windows-node-modules.outputs.cache-hit != 'true' | |
run: yarn install --frozen-lockfile | |
- name: Install Playwright Browsers | |
if: steps.cache-windows-playwright.outputs.cache-hit != 'true' | |
run: yarn test:install | |
- name: Generate Test Suites | |
if: steps.cache-windows-test-suites.outputs.cache-hit != 'true' | |
run: yarn test:generate | |
test-voiceover-preview: | |
name: Playwright VoiceOver Reduced Tests (${{ matrix.shardIndex }} / 1) | |
needs: macos-install | |
runs-on: macos-12 | |
strategy: | |
fail-fast: false | |
matrix: | |
shardIndex: [1] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
- name: Guidepup Setup | |
uses: guidepup/[email protected] | |
- name: Cache node_modules | |
uses: actions/cache@v3 | |
with: | |
path: | | |
node_modules | |
key: macos-modules-${{ hashFiles('yarn.lock') }}-${{ hashFiles('package.json') }} | |
- name: Cache Playwright | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/Library/Caches/ms-playwright | |
key: macos-playwright-${{ hashFiles('yarn.lock') }}-${{ hashFiles('package.json') }} | |
- name: Cache Test Suites | |
uses: actions/cache@v3 | |
with: | |
path: | | |
testSuites.json | |
key: macos-testSuites-${{ hashFiles('aria-at') }}-${{ hashFiles('ignoredTests.json') }} | |
- name: Run Tests | |
run: yarn test ./src/macOsVoiceOver.spec.ts --config macos.config.ts --shard ${{ matrix.shardIndex }}/2000 | |
continue-on-error: true | |
- name: Upload Playwright Artifacts | |
uses: actions/upload-artifact@v4 | |
if: always() | |
continue-on-error: true | |
with: | |
name: artifacts-macos-voiceover-${{ matrix.shardIndex }} | |
path: | | |
./test-results | |
./recordings | |
- name: Upload HTML Report Artifacts | |
uses: actions/upload-artifact@v4 | |
if: always() | |
continue-on-error: true | |
with: | |
name: playwright-report-macos-voiceover-${{ matrix.shardIndex }} | |
path: ./playwright-report | |
test-nvda-preview: | |
name: Playwright NVDA Reduced Tests (${{ matrix.shardIndex }} / 1) | |
needs: windows-install | |
runs-on: windows-2022 | |
strategy: | |
fail-fast: false | |
matrix: | |
shardIndex: [1] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
- name: Guidepup Setup | |
uses: guidepup/[email protected] | |
- name: Cache node_modules | |
uses: actions/cache@v3 | |
with: | |
path: | | |
node_modules | |
key: windows-modules-${{ hashFiles('yarn.lock') }}-${{ hashFiles('package.json') }} | |
- name: Cache Playwright | |
uses: actions/cache@v3 | |
with: | |
path: | | |
C:\Users\runneradmin\AppData\Local\ms-playwright | |
key: windows-playwright-${{ hashFiles('yarn.lock') }}-${{ hashFiles('package.json') }} | |
- name: Cache Test Suites | |
uses: actions/cache@v3 | |
with: | |
path: | | |
testSuites.json | |
key: windows-testSuites-${{ hashFiles('aria-at') }}-${{ hashFiles('ignoredTests.json') }} | |
- name: Run Tests | |
run: yarn test ./src/windowsNvda.spec.ts --config windows.config.ts --shard ${{ matrix.shardIndex }}/2000 | |
continue-on-error: true | |
- name: Upload Playwright Artifacts | |
uses: actions/upload-artifact@v4 | |
if: always() | |
continue-on-error: true | |
with: | |
name: artifacts-windows-nvda-${{ matrix.shardIndex }} | |
path: | | |
./test-results | |
./recordings | |
- name: Upload HTML Report Artifacts | |
uses: actions/upload-artifact@v4 | |
if: always() | |
continue-on-error: true | |
with: | |
name: playwright-report-windows-nvda-${{ matrix.shardIndex }} | |
path: ./playwright-report | |
publish-preview-html-report: | |
name: Publish Preview HTML Report To Vercel | |
if: always() | |
needs: [test-voiceover-preview, test-nvda-preview] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Clear Space | |
run: | | |
sudo rm -rf /usr/share/dotnet | |
sudo rm -rf /usr/local/lib/android | |
sudo rm -rf /opt/ghc | |
sudo rm -rf /opt/hostedtoolcache/CodeQL | |
sudo docker image prune --all --force | |
sudo apt-get purge -y \ | |
'^llvm-.*' \ | |
'php.*' \ | |
'^mongodb-.*' \ | |
'^mysql-.*' \ | |
azure-cli \ | |
google-chrome-stable \ | |
firefox \ | |
powershell \ | |
microsoft-edge-stable \ | |
mono-devel | |
sudo apt-get autoremove -y | |
sudo apt-get clean | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
- name: Update Deployment Status - Start | |
uses: bobheadxi/deployments@v1 | |
id: deployment | |
with: | |
step: start | |
env: aria-at-tests-preview | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions/download-artifact@v4 | |
with: | |
pattern: playwright-report-* | |
path: ./playwright-report | |
- name: Log Directory Structure | |
run: | | |
ls -la ./ | |
ls -la ./playwright-report | |
- name: Cache node_modules | |
uses: actions/cache@v3 | |
id: cache-macos-node-modules | |
with: | |
path: | | |
node_modules | |
key: macos-modules-${{ hashFiles('yarn.lock') }}-${{ hashFiles('package.json') }} | |
- name: Create Test Report | |
run: yarn test:report | |
- name: Cleanup Downloads | |
run: rm -rf ./playwright-report || true | |
- name: Log Directory Structure | |
run: | | |
ls -la ./ | |
ls -la ./html-report | |
- name: Upload HTML Report Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: html-report | |
path: html-report | |
- name: Deploy HTML Report to Vercel | |
uses: amondnet/vercel-action@v25 | |
id: vercel-action | |
with: | |
vercel-token: ${{ secrets.VERCEL_TOKEN }} | |
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }} | |
vercel-project-id: ${{ secrets.PREVIEW_VERCEL_PROJECT_ID }} | |
github-comment: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
working-directory: html-report | |
- name: Update Deployment Status - Finish | |
uses: bobheadxi/deployments@v1 | |
if: always() | |
with: | |
step: finish | |
token: ${{ secrets.GITHUB_TOKEN }} | |
status: ${{ job.status }} | |
deployment_id: ${{ steps.deployment.outputs.deployment_id }} | |
env: ${{ steps.deployment.outputs.env }} | |
env_url: ${{ steps.vercel-action.outputs.preview-url }} |