Skip to content

Replace Virtuoso with native Message Scroller #621

Replace Virtuoso with native Message Scroller

Replace Virtuoso with native Message Scroller #621

Workflow file for this run

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