Keep headline on top in media preview (develop) #6876
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "CI" | |
| on: | |
| [push, pull_request] | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: ['22', '24'] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: 'npm' | |
| - run: npm ci | |
| - run: npm run test | |
| env: | |
| TZ: "Europe/Prague" | |
| playwright-e2e: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: ['22', '24'] | |
| shardIndex: [1, 2] | |
| shardTotal: [2] | |
| defaults: | |
| run: | |
| working-directory: e2e/client | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: 'npm' | |
| - name: Setup E2E Environment | |
| uses: ./.github/actions/setup-e2e | |
| - name: Resolve Playwright version | |
| id: playwright-version | |
| run: echo "version=$(node -p "require('@playwright/test/package.json').version")" >> "$GITHUB_OUTPUT" | |
| - name: Cache Playwright browsers | |
| id: playwright-cache | |
| uses: actions/cache@v5 | |
| with: | |
| path: ~/.cache/ms-playwright | |
| key: playwright-${{ runner.os }}-${{ steps.playwright-version.outputs.version }} | |
| - name: Install Playwright browsers and system deps | |
| if: steps.playwright-cache.outputs.cache-hit != 'true' | |
| timeout-minutes: 15 | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| NEEDRESTART_MODE: a | |
| run: npx playwright install --with-deps chromium | |
| - name: Install Playwright system deps only | |
| if: steps.playwright-cache.outputs.cache-hit == 'true' | |
| timeout-minutes: 15 | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| NEEDRESTART_MODE: a | |
| run: npx playwright install-deps chromium | |
| - name: Run Playwright tests | |
| run: npx playwright test --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }} | |
| - name: Upload blob report to Artifacts | |
| if: ${{ !cancelled() }} | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: blob-report-${{ matrix.shardIndex }} | |
| path: e2e/client/blob-report | |
| retention-days: 1 | |
| - name: Server Logs | |
| if: ${{ failure() }} | |
| run: docker compose logs server | |
| working-directory: e2e/server | |
| merge-playwright-reports: | |
| if: ${{ !cancelled() }} | |
| needs: [playwright-e2e] | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: e2e/client | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: '22' | |
| - name: Download blob reports from Artifacts | |
| uses: actions/download-artifact@v8 | |
| with: | |
| path: e2e/client/all-blob-reports | |
| pattern: blob-report-* | |
| merge-multiple: true | |
| - name: Merge into HTML Report | |
| run: npx playwright merge-reports --reporter html ./all-blob-reports | |
| - name: Upload HTML report | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: playwright-html-report | |
| path: e2e/client/playwright-report | |
| retention-days: 14 |