snapshot of https://github.com/tldraw/tldraw.git (main, 2026-09-23; blobs > 131072B omitted)
Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled

This commit is contained in:
upstream-mirror
2026-09-23 16:12:52 +05:00
commit a774ac673a
4541 changed files with 770499 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
name: 'Setup Playwright'
description: 'Install Playwright browsers with version-keyed caching shared across workflows.'
inputs:
browsers:
description: 'Space-separated Playwright browsers to install and cache.'
required: false
# Only bundled Chromium by default — every e2e project uses `devices['Desktop Chrome']` /
# `['Pixel 5']` with no `channel`, so the branded `chrome` build is never launched.
default: 'chromium'
runs:
using: 'composite'
steps:
# @playwright/test is hoisted to the root node_modules (it's a devDependency of the e2e
# workspaces), so Node resolves it from the repo root — no per-workspace cwd, nothing written
# to the tree. We also derive a key-safe browser token (spaces -> dashes) so multi-browser
# values like "chromium firefox" don't put a space in the cache key.
- name: Resolve Playwright version and browsers
shell: bash
env:
BROWSERS: ${{ inputs.browsers }}
run: |
echo "PLAYWRIGHT_VERSION=$(node -p "require('@playwright/test/package.json').version")" >> "$GITHUB_ENV"
echo "PLAYWRIGHT_BROWSERS_KEY=$(echo "$BROWSERS" | tr ' ' '-')" >> "$GITHUB_ENV"
# Keyed on os + arch + version + browsers. The arch matters (ARM vs x64 need different
# binaries); the browser set matters too — without it, adding a browser would be a stale cache
# hit that skips the install and never downloads the new one.
- name: Check for Playwright browsers cache
id: playwright-cache
uses: actions/cache@v5
with:
path: |
~/.cache/ms-playwright
key: ${{ runner.os }}-${{ runner.arch }}-playwright-${{ env.PLAYWRIGHT_VERSION }}-${{ env.PLAYWRIGHT_BROWSERS_KEY }}
# Cache miss only. `--with-deps` also installs the OS libraries the browsers need — a no-op for
# Chromium on GitHub's runner images, but it means adding webkit/firefox via `browsers` later
# just works without extra setup.
- name: Install Playwright browsers
if: steps.playwright-cache.outputs.cache-hit != 'true'
shell: bash
env:
BROWSERS: ${{ inputs.browsers }}
run: npx playwright install --with-deps $BROWSERS