Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
Cache Playwright binaries if possible
Sebastian Martinez committed 3 years ago
commit 9d3353b4f6003abe70ba6f07ae17dc40e48424dc
parent cdef3b5d5ea34e53a854fdca772c02bc6109675a
1 file changed +23 -1
modified .github/workflows/check-e2e.yml
@@ -15,12 +15,34 @@ jobs:
        node-version: '18.12.1'
    - name: Install dependencies
      run: npm ci
-
    - name: Install Playwright Browsers
+
    - name: Get npm cache directory
+
      id: npm-cache-dir
+
      run: |
+
        echo "::set-output name=dir::$(npm config get cache)"
+
    - name: Get Playwright version
+
      id: playwright-version
+
      run: |
+
        echo "::set-output name=version::$(node -p "require('@playwright/test/package.json').version")"
+
    - uses: actions/cache@v3
+
      name: Check if Playwright browser is cached
+
      id: playwright-cache
+
      with:
+
        path: ${{ steps.npm-cache-dir.outputs.dir }}
+
        key: ${{ runner.os }}-Playwright-${{steps.playwright-version.outputs.version}}
+
    - name: Install Playwright browser if not cached
+
      if: steps.playwright-cache.outputs.cache-hit != 'true'
      run: npx playwright install --with-deps
+
      env:
+
        PLAYWRIGHT_BROWSERS_PATH: ${{steps.npm-cache-dir.outputs.dir}}
+
    - name: Install OS dependencies of Playwright if cache hit
+
      if: steps.playwright-cache.outputs.cache-hit == 'true'
+
      run: npx playwright install-deps
    - name: Start http-api test server
      run: ./scripts/run-http-api-with-fixtures --non-interactive --detach
    - name: Run Playwright tests
      run: npm run test:e2e -- --project ${{ matrix.browser }}
+
      env:
+
        PLAYWRIGHT_BROWSERS_PATH: ${{steps.npm-cache-dir.outputs.dir}}
    - uses: actions/upload-artifact@v3
      if: always()
      with: