Replace Virtuoso with native Message Scroller #621
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: | |
| branches: [develop] | |
| pull_request: | |
| branches: [develop] | |
| jobs: | |
| setup: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| cache-hit: ${{ steps.pnpm-cache.outputs.cache-hit }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-node@v5 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@v5 | |
| with: | |
| version: latest | |
| - name: Cache pnpm store | |
| uses: actions/cache@v5 | |
| id: pnpm-cache | |
| with: | |
| path: | | |
| ~/.pnpm-store | |
| node_modules | |
| key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm- | |
| - name: Install dependencies | |
| if: steps.pnpm-cache.outputs.cache-hit != 'true' | |
| run: pnpm install --frozen-lockfile | |
| linter: | |
| needs: [setup] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-node@v5 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@v5 | |
| with: | |
| version: latest | |
| - name: Restore pnpm cache | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| ~/.pnpm-store | |
| node_modules | |
| key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm- | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Apply oxfmt and oxlint corrections | |
| run: pnpm run format && pnpm run lint | |
| - name: Verify corrections were committed | |
| run: git diff --exit-code | |
| - name: Generate WXT types | |
| run: pnpm exec wxt prepare | |
| - run: pnpm run check | |
| tests: | |
| needs: [setup] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-node@v5 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@v5 | |
| with: | |
| version: latest | |
| - name: Restore pnpm cache | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| ~/.pnpm-store | |
| node_modules | |
| key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm- | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Install Chromium for Vitest Browser Mode | |
| run: pnpm exec playwright install --with-deps chromium | |
| - name: Generate WXT types | |
| run: pnpm exec wxt prepare | |
| - run: pnpm run test | |
| build: | |
| needs: [setup] | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-node@v5 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@v5 | |
| with: | |
| version: latest | |
| - name: Restore pnpm cache | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| ~/.pnpm-store | |
| node_modules | |
| key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm- | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - run: pnpm run build | |
| - name: Build Firefox MV2 and verify Runtime capability boundaries | |
| run: | | |
| pnpm exec wxt build -b firefox | |
| node e2e/runtime-bundles.ts | |
| - name: Install Chrome for Testing | |
| id: chrome | |
| uses: browser-actions/setup-chrome@v2 | |
| with: | |
| chrome-version: stable | |
| install-dependencies: true | |
| - name: Test Chrome MV3 shared Runtime | |
| env: | |
| WEBCHAT_CHROMIUM_EXECUTABLE: ${{ steps.chrome.outputs.chrome-path }} | |
| WEBCHAT_CHROMIUM_DISABLE_SANDBOX: 'true' | |
| run: node e2e/chrome-runtime.ts |