# Copyright 2023 Signal Messenger, LLC
# SPDX-License-Identifier: AGPL-3.0-only
name: Stories
on:
  push:
    branches:
      - development
      - main
      - '[0-9]+.[0-9]+.x'
  pull_request:
jobs:
  test:
    runs-on: ubuntu-latest-8-cores
    timeout-minutes: 30
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '20.9.0'
          cache: 'yarn'
      - name: Install global dependencies
        run: npm install -g yarn@1.22.10 npm@10.2.5
      - name: Cache Desktop node_modules
        id: cache-desktop-modules
        uses: actions/cache@v3
        with:
          path: node_modules
          key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }}
      - name: Install Desktop node_modules
        if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
        run: yarn install --frozen-lockfile --prefer-offline
        env:
          CHILD_CONCURRENCY: 1
          NPM_CONFIG_LOGLEVEL: verbose
      - run: yarn build:storybook
      - run: npx playwright install chromium
      - run: yarn run-p --race test:storybook:serve test:storybook:test
