Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .github/workflows/baseline-superdoc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ github.sha }}
Expand Down Expand Up @@ -90,15 +90,15 @@ jobs:

- name: Setup Node.js
if: steps.version.outputs.skip != 'true'
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version-file: .nvmrc
cache: pnpm
cache-dependency-path: devtools/visual-testing/pnpm-lock.yaml

- name: Cache apt packages
if: steps.version.outputs.skip != 'true'
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/apt-cache
key: apt-canvas-${{ runner.os }}-v1
Expand Down Expand Up @@ -131,7 +131,7 @@ jobs:

- name: Cache Playwright browsers
if: steps.version.outputs.skip != 'true'
uses: actions/cache@v4
uses: actions/cache@v5
id: playwright-cache
with:
path: ~/.cache/ms-playwright
Expand Down
52 changes: 52 additions & 0 deletions .github/workflows/ci-demos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: CI Demos

on:
pull_request:
paths:
- 'demos/**'
workflow_dispatch:

jobs:
smoke-test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
demo:
- cdn
- custom-mark
- custom-node
- docx-from-html
- docxtemplater
- fields
- grading-papers
# - html-editor # broken: imports unpublished superdoc/super-editor/style.css subpath
- linked-sections
- loading-from-json
- nextjs-ssr
- react
# - replace-content # broken: runtime nextSibling error in SuperDoc
- text-selection
- toolbar
- typescript
- vanilla
- vue
steps:
- uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '20'

- name: Install demo dependencies
working-directory: demos/${{ matrix.demo }}
run: npm install

- name: Install smoke test dependencies
working-directory: demos/__tests__
run: npm install && npx playwright install chromium

- name: Run smoke test
working-directory: demos/__tests__
run: DEMO=${{ matrix.demo }} npx playwright test
4 changes: 2 additions & 2 deletions .github/workflows/ci-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Setup pnpm
uses: pnpm/action-setup@v4

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '20'
cache: 'pnpm'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci-esign.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
- uses: actions/setup-node@v6
with:
node-version-file: .nvmrc
cache: pnpm
Expand Down
109 changes: 109 additions & 0 deletions .github/workflows/ci-examples.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: CI Examples

on:
pull_request:
paths:
- 'examples/**'
workflow_dispatch:

jobs:
getting-started:
runs-on: ubuntu-latest
strategy:
matrix:
example: [react, vue, vanilla, cdn]
steps:
- uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '20'

- name: Install example dependencies
if: matrix.example != 'cdn'
working-directory: examples/getting-started/${{ matrix.example }}
run: npm install

- name: Install smoke test dependencies
working-directory: examples/__tests__
run: npm install && npx playwright install chromium

- name: Run smoke test
working-directory: examples/__tests__
run: EXAMPLE=${{ matrix.example }} npx playwright test

collaboration:
runs-on: ubuntu-latest
strategy:
matrix:
example: [superdoc-yjs, hocuspocus, liveblocks]
steps:
- uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '20'

- name: Create .env for cloud providers
working-directory: examples/collaboration/${{ matrix.example }}
run: |
if [ "${{ matrix.example }}" = "liveblocks" ]; then
echo "VITE_LIVEBLOCKS_PUBLIC_KEY=${{ secrets.VITE_LIVEBLOCKS_PUBLIC_KEY }}" > .env
fi

- name: Install example dependencies
working-directory: examples/collaboration/${{ matrix.example }}
run: npm install

- name: Install smoke test dependencies
working-directory: examples/__tests__
run: npm install && npx playwright install chromium

- name: Run smoke test
working-directory: examples/__tests__
run: EXAMPLE=collaboration/${{ matrix.example }} npx playwright test

features:
runs-on: ubuntu-latest
strategy:
matrix:
example: [track-changes, ai-redlining, comments, custom-toolbar]
steps:
- uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '20'

- name: Install example dependencies
working-directory: examples/features/${{ matrix.example }}
run: npm install

- name: Install smoke test dependencies
working-directory: examples/__tests__
run: npm install && npx playwright install chromium

- name: Run smoke test
working-directory: examples/__tests__
run: EXAMPLE=features/${{ matrix.example }} npx playwright test

headless:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '20'

- name: Install dependencies
working-directory: examples/headless/ai-redlining
run: npm install

- name: Run headless tests
working-directory: examples/headless/ai-redlining
run: npx tsx src/index.test.ts
Loading