pad.libre-service.eu-etherpad/.github/workflows/backend-tests.yml

166 lines
5 KiB
YAML
Raw Normal View History

name: "Backend tests"
# any branch is useful for testing before a PR is submitted
on: [push, pull_request]
permissions:
contents: read
jobs:
withoutpluginsLinux:
# run on pushes to any branch
# run on PRs from external forks
if: |
(github.event_name != 'pull_request')
|| (github.event.pull_request.head.repo.id != github.event.pull_request.base.repo.id)
name: Linux without plugins
runs-on: ubuntu-latest
2021-02-12 02:00:28 +01:00
strategy:
fail-fast: false
matrix:
2023-10-02 19:06:25 +02:00
node: [1.0.3, canary]
steps:
-
name: Checkout repository
uses: actions/checkout@v4
-
2023-10-02 19:06:25 +02:00
uses: oven-sh/setup-bun@v1
with:
2023-10-02 19:06:25 +02:00
bun-version: ${{ matrix.node }}
-
name: Install libreoffice
run: |
sudo add-apt-repository -y ppa:libreoffice/ppa
sudo apt update
sudo apt install -y --no-install-recommends libreoffice libreoffice-pdfimport
-
name: Install all dependencies and symlink for ep_etherpad-lite
run: src/bin/installDeps.sh
-
name: Run the backend tests
2023-10-02 19:06:25 +02:00
run: cd src && bun test
withpluginsLinux:
# run on pushes to any branch
# run on PRs from external forks
if: |
(github.event_name != 'pull_request')
|| (github.event.pull_request.head.repo.id != github.event.pull_request.base.repo.id)
name: Linux with Plugins
runs-on: ubuntu-latest
2021-02-12 02:00:28 +01:00
strategy:
fail-fast: false
matrix:
2023-10-02 19:06:25 +02:00
node: [1.0.3, canary]
steps:
-
name: Checkout repository
uses: actions/checkout@v4
-
2023-10-02 19:06:25 +02:00
uses: oven-sh/setup-bun@v1
with:
2023-10-02 19:06:25 +02:00
bun-version: ${{ matrix.node }}
-
name: Install libreoffice
run: |
sudo add-apt-repository -y ppa:libreoffice/ppa
sudo apt update
sudo apt install -y --no-install-recommends libreoffice libreoffice-pdfimport
-
name: Install Etherpad plugins
run: >
2023-10-02 19:06:25 +02:00
bun install --no-save --legacy-peer-deps
ep_align
ep_author_hover
ep_cursortrace
ep_font_size
ep_hash_auth
ep_headings2
ep_image_upload
ep_markdown
ep_readonly_guest
ep_set_title_on_pad
ep_spellcheck
ep_subscript_and_superscript
ep_table_of_contents
-
name: Install all dependencies and symlink for ep_etherpad-lite
run: src/bin/installDeps.sh
-
name: Run the backend tests
2023-10-02 19:06:25 +02:00
run: cd src && bun run test
withoutpluginsWindows:
# run on pushes to any branch
# run on PRs from external forks
if: |
(github.event_name != 'pull_request')
|| (github.event.pull_request.head.repo.id != github.event.pull_request.base.repo.id)
name: Windows without plugins
runs-on: windows-latest
steps:
-
name: Checkout repository
uses: actions/checkout@v4
-
2023-10-02 19:06:25 +02:00
uses: oven-sh/setup-bun@v1
with:
2023-10-02 19:06:25 +02:00
bun-version: latest
-
name: Install all dependencies and symlink for ep_etherpad-lite
run: src/bin/installOnWindows.bat
-
name: Fix up the settings.json
run: |
powershell -Command "(gc settings.json.template) -replace '\"max\": 10', '\"max\": 10000' | Out-File -encoding ASCII settings.json.holder"
powershell -Command "(gc settings.json.holder) -replace '\"points\": 10', '\"points\": 1000' | Out-File -encoding ASCII settings.json"
-
name: Run the backend tests
2023-10-02 19:06:25 +02:00
run: cd src && bun run test
withpluginsWindows:
# run on pushes to any branch
# run on PRs from external forks
if: |
(github.event_name != 'pull_request')
|| (github.event.pull_request.head.repo.id != github.event.pull_request.base.repo.id)
name: Windows with Plugins
runs-on: windows-latest
steps:
-
name: Checkout repository
uses: actions/checkout@v4
-
2023-10-02 19:06:25 +02:00
uses: oven-sh/setup-bun@v1
with:
2023-10-02 19:06:25 +02:00
bun-version: latest
-
name: Install Etherpad plugins
run: >
2023-10-02 19:06:25 +02:00
bun install --no-save
ep_align
ep_author_hover
ep_cursortrace
ep_font_size
ep_hash_auth
ep_headings2
ep_image_upload
ep_markdown
ep_readonly_guest
ep_set_title_on_pad
ep_spellcheck
ep_subscript_and_superscript
ep_table_of_contents
-
name: Install all dependencies and symlink for ep_etherpad-lite
run: src/bin/installOnWindows.bat
-
name: Fix up the settings.json
run: |
powershell -Command "(gc settings.json.template) -replace '\"max\": 10', '\"max\": 10000' | Out-File -encoding ASCII settings.json.holder"
powershell -Command "(gc settings.json.holder) -replace '\"points\": 10', '\"points\": 1000' | Out-File -encoding ASCII settings.json"
-
name: Run the backend tests
2023-10-02 19:06:25 +02:00
run: cd src && bun run test