diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-lint-test.yml index 89ba476..1ffea4a 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -76,7 +76,7 @@ jobs: test: name: Run Playwright tests timeout-minutes: 60 - runs-on: ubuntu-latest + runs-on: ubuntu-latest # This currently uses Ubuntu 22.04 needs: - prepare strategy: @@ -84,106 +84,31 @@ jobs: node-version: [16.x, 18.x, 20.x] steps: - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} cache: 'yarn' + - run: yarn --immutable --immutable-cache - - name: Install Playwright System Dependencies - env: - DEBIAN_FRONTEND: noninteractive - # https://github.com/microsoft/playwright/blob/release-1.47/packages/playwright-core/src/server/registry/nativeDeps.ts - run: | - sudo apt-get update - sudo apt-get install -y --no-install-recommends \ - fonts-freefont-ttf \ - fonts-ipafont-gothic \ - fonts-liberation \ - fonts-noto-color-emoji \ - fonts-tlwg-loma-otf \ - fonts-unifont \ - fonts-wqy-zenhei \ - gstreamer1.0-libav \ - gstreamer1.0-plugins-bad \ - gstreamer1.0-plugins-base \ - gstreamer1.0-plugins-good \ - libasound2t64 \ - libatk-bridge2.0-0t64 \ - libatk1.0-0t64 \ - libatomic1 \ - libatspi2.0-0t64 \ - libcairo-gobject2 \ - libcairo2 \ - libcups2t64 \ - libdbus-1-3 \ - libdrm2 \ - libenchant-2-2 \ - libepoxy0 \ - libevent-2.1-7t64 \ - libflite1 \ - libfontconfig1 \ - libfreetype6 \ - libgbm1 \ - libgdk-pixbuf-2.0-0 \ - libgles2 \ - libglib2.0-0t64 \ - libgstreamer-gl1.0-0 \ - libgstreamer-plugins-bad1.0-0 \ - libgstreamer-plugins-base1.0-0 \ - libgstreamer1.0-0 \ - libgtk-3-0t64 \ - libharfbuzz-icu0 \ - libharfbuzz0b \ - libhyphen0 \ - libicu74 \ - libjpeg-turbo8 \ - liblcms2-2 \ - libmanette-0.2-0 \ - libnspr4 \ - libnss3 \ - libopus0 \ - libpango-1.0-0 \ - libpangocairo-1.0-0 \ - libpng16-16t64 \ - libsecret-1-0 \ - libsoup-3.0-0 \ - libvpx9 \ - libwayland-client0 \ - libwayland-egl1 \ - libwayland-server0 \ - libwebp7 \ - libwebpdemux2 \ - libwoff1 \ - libx11-6 \ - libx11-xcb1 \ - libx264-164 \ - libxcb-shm0 \ - libxcb1 \ - libxcomposite1 \ - libxcursor1 \ - libxdamage1 \ - libxext6 \ - libxfixes3 \ - libxi6 \ - libxkbcommon0 \ - libxml2 \ - libxrandr2 \ - libxrender1 \ - libxslt1.1 \ - xfonts-cyrillic \ - xfonts-scalable \ - xvfb + + - name: Install Playwright Dependencies + run: npx playwright install-deps + - name: Install Playwright Browsers run: yarn playwright install chrome chromium firefox msedge + - name: Run Playwright tests run: yarn test + - uses: actions/upload-artifact@v3 if: always() with: name: playwright-report path: playwright-report/ retention-days: 30 + - name: Require clean working directory shell: bash run: |