name: Browser tests on: pull_request: branches: ["*"] paths: - "packages/react/**" - ".github/workflows/browser-tests.yml" jobs: browser: runs-on: ubuntu-latest name: pnpm test:browser steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install Node.js uses: actions/setup-node@v3 with: node-version: 20 - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: version: 10.33.4 run_install: false - name: Get pnpm store directory id: pnpm-cache run: | echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 name: Setup pnpm cache with: path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install - name: Cache Playwright browsers uses: actions/cache@v3 with: path: ~/.cache/ms-playwright key: ${{ runner.os }}-playwright-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-playwright- - name: Install Playwright Chromium run: pnpm --filter=@shadcn/react exec playwright install --with-deps chromium - run: pnpm --filter=@shadcn/react test:browser