mirror of
https://github.com/ether/etherpad-lite.git
synced 2026-01-23 02:35:34 +00:00
chore: use gnpm (#7156)
* chore: use gnpm * chore: fixed pnpm * chore: fixed gnpm * chore: fixed jq * chore: use 0.0.7 * chore: use flag for building * chore: fixed all backend tests * chore: continue with porting things * chore: fixed path * chore: fixed backend tests * chore: upgraded all to gnpm * chore: updated to gnpm 0.0.9 * chore: echo current env with debug logs * chore: install with frozen lockfile * chore: use 0.0.10 * chore: use 0.0.11 * chore: use 0.0.12 globally * chore: reworked handleRelease workflow to be up to date and depend on other workflows
This commit is contained in:
parent
4dc9c76cc9
commit
d5a23d5347
14 changed files with 431 additions and 517 deletions
194
.github/workflows/backend-tests.yml
vendored
194
.github/workflows/backend-tests.yml
vendored
|
|
@ -12,8 +12,11 @@ on:
|
|||
permissions:
|
||||
contents: read
|
||||
|
||||
|
||||
jobs:
|
||||
withoutpluginsLinux:
|
||||
env:
|
||||
PNPM_HOME: ~/.pnpm-store
|
||||
# run on pushes to any branch
|
||||
# run on PRs from external forks
|
||||
if: |
|
||||
|
|
@ -24,33 +27,27 @@ jobs:
|
|||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node: [20, 22, 24]
|
||||
node: [">=20.0.0 <21.0.0", ">=22.0.0 <23.0.0", ">=24.0.0 <25.0.0"]
|
||||
steps:
|
||||
-
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
-
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: |
|
||||
${{ env.PNPM_HOME }}
|
||||
~/.local/share/gnpm
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
-
|
||||
name: Install libreoffice
|
||||
uses: awalsh128/cache-apt-pkgs-action@v1.5.3
|
||||
|
|
@ -59,21 +56,23 @@ jobs:
|
|||
version: 1.0
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: bin/installDeps.sh
|
||||
run: gnpm i --frozen-lockfile --runtimeVersion="${{ matrix.node }}"
|
||||
- name: Install admin ui
|
||||
working-directory: admin
|
||||
run: pnpm install
|
||||
run: gnpm install --runtimeVersion="${{ matrix.node }}"
|
||||
- name: Build admin ui
|
||||
working-directory: admin
|
||||
run: pnpm build
|
||||
run: gnpm build --runtimeVersion="${{ matrix.node }}"
|
||||
-
|
||||
name: Run the backend tests
|
||||
run: pnpm test
|
||||
run: gnpm test --runtimeVersion="${{ matrix.node }}"
|
||||
- name: Run the new vitest tests
|
||||
working-directory: src
|
||||
run: pnpm run test:vitest
|
||||
run: gnpm run test:vitest --runtimeVersion="${{ matrix.node }}"
|
||||
|
||||
withpluginsLinux:
|
||||
env:
|
||||
PNPM_HOME: ~/.pnpm-store
|
||||
# run on pushes to any branch
|
||||
# run on PRs from external forks
|
||||
if: |
|
||||
|
|
@ -84,33 +83,27 @@ jobs:
|
|||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node: [20, 22, 24]
|
||||
node: [">=20.0.0 <21.0.0", ">=22.0.0 <23.0.0", ">=24.0.0 <25.0.0"]
|
||||
steps:
|
||||
-
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
-
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: |
|
||||
${{ env.PNPM_HOME }}
|
||||
~/.local/share/gnpm
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
-
|
||||
name: Install libreoffice
|
||||
uses: awalsh128/cache-apt-pkgs-action@v1.5.3
|
||||
|
|
@ -119,17 +112,14 @@ jobs:
|
|||
version: 1.0
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: bin/installDeps.sh
|
||||
- name: Install admin ui
|
||||
working-directory: admin
|
||||
run: pnpm install
|
||||
run: gnpm install --frozen-lockfile --runtimeVersion="${{ matrix.node }}"
|
||||
- name: Build admin ui
|
||||
working-directory: admin
|
||||
run: pnpm build
|
||||
run: gnpm build --runtimeVersion="${{ matrix.node }}"
|
||||
-
|
||||
name: Install Etherpad plugins
|
||||
run: >
|
||||
pnpm install --workspace-root
|
||||
gnpm install --workspace-root
|
||||
ep_align
|
||||
ep_author_hover
|
||||
ep_cursortrace
|
||||
|
|
@ -141,57 +131,53 @@ jobs:
|
|||
ep_set_title_on_pad
|
||||
ep_spellcheck
|
||||
ep_subscript_and_superscript
|
||||
ep_table_of_contents
|
||||
ep_table_of_contents --runtimeVersion="${{ matrix.node }}"
|
||||
-
|
||||
name: Run the backend tests
|
||||
run: pnpm test
|
||||
run: gnpm test --runtimeVersion="${{ matrix.node }}"
|
||||
- name: Run the new vitest tests
|
||||
working-directory: src
|
||||
run: pnpm run test:vitest
|
||||
run: gnpm run test:vitest --runtimeVersion="${{ matrix.node }}"
|
||||
|
||||
withoutpluginsWindows:
|
||||
env:
|
||||
PNPM_HOME: ~\\.pnpm-store
|
||||
# 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)
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node: [">=20.0.0 <21.0.0", ">=22.0.0 <23.0.0", ">=24.0.0 <25.0.0"]
|
||||
name: Windows without plugins
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
-
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 20
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: |
|
||||
${{ env.PNPM_HOME }}
|
||||
C:\gnpm\
|
||||
C:\Users\runneradmin\AppData\Roaming\gnpm\
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: bin/installOnWindows.bat
|
||||
- name: Install admin ui
|
||||
working-directory: admin
|
||||
run: pnpm install
|
||||
run: gnpm install --frozen-lockfile --runtimeVersion="${{ matrix.node }}"
|
||||
- name: Build admin ui
|
||||
working-directory: admin
|
||||
run: pnpm build
|
||||
run: gnpm build --runtimeVersion="${{ matrix.node }}"
|
||||
-
|
||||
name: Fix up the settings.json
|
||||
run: |
|
||||
|
|
@ -200,17 +186,23 @@ jobs:
|
|||
-
|
||||
name: Run the backend tests
|
||||
working-directory: src
|
||||
run: pnpm test
|
||||
run: gnpm test --runtimeVersion="${{ matrix.node }}"
|
||||
- name: Run the new vitest tests
|
||||
working-directory: src
|
||||
run: pnpm run test:vitest
|
||||
run: gnpm run test:vitest --runtimeVersion="${{ matrix.node }}"
|
||||
|
||||
withpluginsWindows:
|
||||
env:
|
||||
PNPM_HOME: ~\\.pnpm-store
|
||||
# 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)
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node: [">=20.0.0 <21.0.0", ">=22.0.0 <23.0.0", ">=24.0.0 <25.0.0"]
|
||||
name: Windows with Plugins
|
||||
runs-on: windows-latest
|
||||
|
||||
|
|
@ -218,40 +210,32 @@ jobs:
|
|||
-
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
-
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 22
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: |
|
||||
${{ env.PNPM_HOME }}
|
||||
C:\gnpm\
|
||||
C:\Users\runneradmin\AppData\Roaming\gnpm\
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
- name: Install admin ui
|
||||
working-directory: admin
|
||||
run: pnpm install
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
- name: Install dependencies
|
||||
run: gnpm install --runtimeVersion="${{ matrix.node }}"
|
||||
- name: Build admin ui
|
||||
working-directory: admin
|
||||
run: pnpm build
|
||||
run: gnpm build --runtimeVersion="${{ matrix.node }}"
|
||||
-
|
||||
name: Install Etherpad plugins
|
||||
# The --legacy-peer-deps flag is required to work around a bug in npm
|
||||
# v7: https://github.com/npm/cli/issues/2199
|
||||
run: >
|
||||
pnpm install --workspace-root
|
||||
gnpm install --workspace-root
|
||||
ep_align
|
||||
ep_author_hover
|
||||
ep_cursortrace
|
||||
|
|
@ -263,7 +247,7 @@ jobs:
|
|||
ep_set_title_on_pad
|
||||
ep_spellcheck
|
||||
ep_subscript_and_superscript
|
||||
ep_table_of_contents
|
||||
ep_table_of_contents --runtimeVersion="${{ matrix.node }}"
|
||||
# Etherpad core dependencies must be installed after installing the
|
||||
# plugin's dependencies, otherwise npm will try to hoist common
|
||||
# dependencies by removing them from src/node_modules and installing them
|
||||
|
|
@ -275,7 +259,7 @@ jobs:
|
|||
# rules.
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: bin/installOnWindows.bat
|
||||
run: gnpm install --frozen-lockfile --runtimeVersion="${{ matrix.node }}"
|
||||
-
|
||||
name: Fix up the settings.json
|
||||
run: |
|
||||
|
|
@ -284,7 +268,7 @@ jobs:
|
|||
-
|
||||
name: Run the backend tests
|
||||
working-directory: src
|
||||
run: pnpm test
|
||||
run: gnpm test --runtimeVersion="${{ matrix.node }}"
|
||||
- name: Run the new vitest tests
|
||||
working-directory: src
|
||||
run: pnpm run test:vitest
|
||||
run: gnpm run test:vitest --runtimeVersion="${{ matrix.node }}"
|
||||
|
|
|
|||
38
.github/workflows/build-and-deploy-docs.yml
vendored
38
.github/workflows/build-and-deploy-docs.yml
vendored
|
|
@ -33,31 +33,29 @@ jobs:
|
|||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
- uses: actions/cache@v4
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: |
|
||||
${{ env.STORE_PATH }}
|
||||
~/.local/share/gnpm
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
- name: Setup Pages
|
||||
uses: actions/configure-pages@v5
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
run: gnpm install
|
||||
- name: Build app
|
||||
working-directory: doc
|
||||
run: pnpm run docs:build
|
||||
run: gnpm run docs:build
|
||||
env:
|
||||
COMMIT_REF: ${{ github.sha }}
|
||||
- name: Upload artifact
|
||||
|
|
|
|||
37
.github/workflows/docker.yml
vendored
37
.github/workflows/docker.yml
vendored
|
|
@ -1,4 +1,4 @@
|
|||
name: Docker
|
||||
name: "Docker"
|
||||
on:
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
|
|
@ -18,6 +18,8 @@ permissions:
|
|||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
PNPM_HOME: ~/.pnpm-store
|
||||
steps:
|
||||
-
|
||||
name: Check out
|
||||
|
|
@ -42,27 +44,22 @@ jobs:
|
|||
tags: ${{ env.TEST_TAG }}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
-
|
||||
name: Set up Node.js
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 'lts/*'
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: |
|
||||
${{ env.PNPM_HOME }}
|
||||
~/.local/share/gnpm
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
-
|
||||
name: Test
|
||||
working-directory: etherpad
|
||||
|
|
@ -79,7 +76,7 @@ jobs:
|
|||
*) printf %s\\n "unexpected status: ${status}" >&2; exit 1;;
|
||||
esac
|
||||
done
|
||||
(cd src && pnpm run test-container)
|
||||
(cd src && gnpm run test-container)
|
||||
git clean -dxf .
|
||||
-
|
||||
name: Docker meta
|
||||
|
|
|
|||
48
.github/workflows/frontend-admin-tests.yml
vendored
48
.github/workflows/frontend-admin-tests.yml
vendored
|
|
@ -1,5 +1,5 @@
|
|||
# Leave the powered by Sauce Labs bit in as this means we get additional concurrency
|
||||
name: "Frontend admin tests powered by Sauce Labs"
|
||||
name: "Frontend admin tests"
|
||||
|
||||
on:
|
||||
push:
|
||||
|
|
@ -11,6 +11,8 @@ permissions:
|
|||
|
||||
jobs:
|
||||
withplugins:
|
||||
env:
|
||||
PNPM_HOME: ~/.pnpm-store
|
||||
name: with plugins
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
|
|
@ -29,26 +31,22 @@ jobs:
|
|||
-
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
-
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: |
|
||||
${{ env.PNPM_HOME }}
|
||||
~/.local/share/gnpm
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
- name: Cache playwright binaries
|
||||
uses: actions/cache@v4
|
||||
id: playwright-cache
|
||||
|
|
@ -56,8 +54,6 @@ jobs:
|
|||
path: |
|
||||
~/.cache/ms-playwright
|
||||
key: ${{ runner.os }}-playwright-${{ env.PLAYWRIGHT_VERSION }}
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
#-
|
||||
# name: Install etherpad plugins
|
||||
# # We intentionally install an old ep_align version to test upgrades to
|
||||
|
|
@ -75,7 +71,7 @@ jobs:
|
|||
# rules.
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: pnpm i
|
||||
run: gnpm i --runtimeVersion="${{ matrix.node }}"
|
||||
#-
|
||||
# name: Install etherpad plugins
|
||||
# run: rm -Rf node_modules/ep_align/static/tests/*
|
||||
|
|
@ -99,7 +95,7 @@ jobs:
|
|||
- name: Build admin frontend
|
||||
working-directory: admin
|
||||
run: |
|
||||
pnpm run build
|
||||
gnpm run build --runtimeVersion="${{ matrix.node }}"
|
||||
# name: Run the frontend admin tests
|
||||
# shell: bash
|
||||
# env:
|
||||
|
|
@ -130,7 +126,7 @@ jobs:
|
|||
- name: Run the frontend admin tests
|
||||
shell: bash
|
||||
run: |
|
||||
pnpm run prod &
|
||||
gnpm run prod --runtimeVersion="${{ matrix.node }}" &
|
||||
connected=false
|
||||
can_connect() {
|
||||
curl -sSfo /dev/null http://localhost:9001/ || return 1
|
||||
|
|
@ -142,9 +138,9 @@ jobs:
|
|||
sleep 1
|
||||
done
|
||||
cd src
|
||||
pnpm exec playwright install
|
||||
pnpm exec playwright install-deps
|
||||
pnpm run test-admin
|
||||
gnpm exec playwright install --runtimeVersion="${{ matrix.node }}"
|
||||
gnpm exec playwright install-deps --runtimeVersion="${{ matrix.node }}"
|
||||
gnpm run test-admin --runtimeVersion="${{ matrix.node }}"
|
||||
- uses: actions/upload-artifact@v4
|
||||
if: always()
|
||||
with:
|
||||
|
|
|
|||
148
.github/workflows/frontend-tests.yml
vendored
148
.github/workflows/frontend-tests.yml
vendored
|
|
@ -11,6 +11,8 @@ permissions:
|
|||
|
||||
jobs:
|
||||
playwright-chrome:
|
||||
env:
|
||||
PNPM_HOME: ~/.pnpm-store
|
||||
name: Playwright Chrome
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
|
@ -23,32 +25,26 @@ jobs:
|
|||
-
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
-
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 22
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: |
|
||||
${{ env.PNPM_HOME }}
|
||||
~/.cache/ms-playwright
|
||||
~/.local/share/gnpm
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: bin/installDeps.sh
|
||||
run: gnpm install --frozen-lockfile
|
||||
-
|
||||
name: export GIT_HASH to env
|
||||
id: environment
|
||||
|
|
@ -56,17 +52,10 @@ jobs:
|
|||
-
|
||||
name: Create settings.json
|
||||
run: cp ./src/tests/settings.json settings.json
|
||||
- name: Cache playwright binaries
|
||||
uses: actions/cache@v4
|
||||
id: playwright-cache
|
||||
with:
|
||||
path: |
|
||||
~/.cache/ms-playwright
|
||||
key: ${{ runner.os }}-playwright-${{ env.PLAYWRIGHT_VERSION }}
|
||||
- name: Run the frontend tests
|
||||
shell: bash
|
||||
run: |
|
||||
pnpm run prod &
|
||||
gnpm run prod &
|
||||
connected=false
|
||||
can_connect() {
|
||||
curl -sSfo /dev/null http://localhost:9001/ || return 1
|
||||
|
|
@ -78,8 +67,8 @@ jobs:
|
|||
sleep 1
|
||||
done
|
||||
cd src
|
||||
pnpm exec playwright install chromium --with-deps
|
||||
pnpm run test-ui --project=chromium
|
||||
gnpm exec playwright install chromium --with-deps
|
||||
gnpm run test-ui --project=chromium
|
||||
- uses: actions/upload-artifact@v4
|
||||
if: always()
|
||||
with:
|
||||
|
|
@ -87,6 +76,8 @@ jobs:
|
|||
path: src/playwright-report/
|
||||
retention-days: 30
|
||||
playwright-firefox:
|
||||
env:
|
||||
PNPM_HOME: ~/.pnpm-store
|
||||
name: Playwright Firefox
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
|
@ -97,46 +88,34 @@ jobs:
|
|||
printf %s\\n '::set-output name=tunnel_id::${{ github.run_id }}-${{ github.run_number }}-${{ github.job }}'
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
- uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 22
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: |
|
||||
${{ env.PNPM_HOME }}
|
||||
~/.local/share/gnpm
|
||||
~/.cache/ms-playwright
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
- name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: bin/installDeps.sh
|
||||
run: gnpm install --frozen-lockfile
|
||||
- name: export GIT_HASH to env
|
||||
id: environment
|
||||
run: echo "::set-output name=sha_short::$(git rev-parse --short ${{ github.sha }})"
|
||||
- name: Create settings.json
|
||||
run: cp ./src/tests/settings.json settings.json
|
||||
- name: Cache playwright binaries
|
||||
uses: actions/cache@v4
|
||||
id: playwright-cache
|
||||
with:
|
||||
path: |
|
||||
~/.cache/ms-playwright
|
||||
key: ${{ runner.os }}-playwright-${{ env.PLAYWRIGHT_VERSION }}
|
||||
- name: Run the frontend tests
|
||||
shell: bash
|
||||
run: |
|
||||
pnpm run prod &
|
||||
gnpm run prod &
|
||||
connected=false
|
||||
can_connect() {
|
||||
curl -sSfo /dev/null http://localhost:9001/ || return 1
|
||||
|
|
@ -148,8 +127,8 @@ jobs:
|
|||
sleep 1
|
||||
done
|
||||
cd src
|
||||
pnpm exec playwright install firefox --with-deps
|
||||
pnpm run test-ui --project=firefox
|
||||
gnpm exec playwright install firefox --with-deps
|
||||
gnpm run test-ui --project=firefox
|
||||
- uses: actions/upload-artifact@v4
|
||||
if: always()
|
||||
with:
|
||||
|
|
@ -159,7 +138,8 @@ jobs:
|
|||
playwright-webkit:
|
||||
name: Playwright Webkit
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
env:
|
||||
PNPM_HOME: ~/.pnpm-store
|
||||
steps:
|
||||
-
|
||||
name: Generate Sauce Labs strings
|
||||
|
|
@ -170,39 +150,25 @@ jobs:
|
|||
-
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
-
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 22
|
||||
- name: Cache playwright binaries
|
||||
uses: actions/cache@v4
|
||||
id: playwright-cache
|
||||
with:
|
||||
path: |
|
||||
~/.cache/ms-playwright
|
||||
key: ${{ runner.os }}-playwright-${{ env.PLAYWRIGHT_VERSION }}
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
path: |
|
||||
${{ env.PNPM_HOME }}
|
||||
~/.local/share/gnpm
|
||||
~/.cache/ms-playwright
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: ${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: bin/installDeps.sh
|
||||
run: gnpm install --frozen-lockfile
|
||||
-
|
||||
name: export GIT_HASH to env
|
||||
id: environment
|
||||
|
|
@ -213,7 +179,7 @@ jobs:
|
|||
- name: Run the frontend tests
|
||||
shell: bash
|
||||
run: |
|
||||
pnpm run prod &
|
||||
gnpm run prod &
|
||||
connected=false
|
||||
can_connect() {
|
||||
curl -sSfo /dev/null http://localhost:9001/ || return 1
|
||||
|
|
@ -225,8 +191,8 @@ jobs:
|
|||
sleep 1
|
||||
done
|
||||
cd src
|
||||
pnpm exec playwright install webkit --with-deps
|
||||
pnpm run test-ui --project=webkit || true
|
||||
gnpm exec playwright install webkit --with-deps
|
||||
gnpm run test-ui --project=webkit || true
|
||||
- uses: actions/upload-artifact@v4
|
||||
if: always()
|
||||
with:
|
||||
|
|
|
|||
64
.github/workflows/handleRelease.yml
vendored
Normal file
64
.github/workflows/handleRelease.yml
vendored
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
name: "Handle release"
|
||||
|
||||
# any branch is useful for testing before a PR is submitted
|
||||
on:
|
||||
workflow_run:
|
||||
workflows:
|
||||
- "Backend tests"
|
||||
- "Perform type checks"
|
||||
- "rate limit"
|
||||
- "Docker"
|
||||
- "Frontend admin tests"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
env:
|
||||
PNPM_HOME: ~/.pnpm-store
|
||||
|
||||
jobs:
|
||||
build-zip:
|
||||
permissions: write-all
|
||||
# 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: Handle the release
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
- uses: actions/cache@v4
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: |
|
||||
${{ env.STORE_PATH }}
|
||||
~/.local/share/gnpm
|
||||
~/.cache/ms-playwright
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
- name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: gnpm install --frozen-lockfile
|
||||
- name: Build etherpad
|
||||
run: gnpm run build:etherpad
|
||||
# On release, create release
|
||||
- name: Generate Changelog
|
||||
if: ${{startsWith(github.ref, 'refs/tags/v') }}
|
||||
working-directory: bin
|
||||
run: gnpm run generateChangelog ${{ github.ref }} > ${{ github.workspace }}-CHANGELOG.txt
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: ${{startsWith(github.ref, 'refs/tags/v') }}
|
||||
with:
|
||||
body_path: ${{ github.workspace }}-CHANGELOG.txt
|
||||
make_latest: true
|
||||
129
.github/workflows/load-test.yml
vendored
129
.github/workflows/load-test.yml
vendored
|
|
@ -12,6 +12,10 @@ on:
|
|||
permissions:
|
||||
contents: read
|
||||
|
||||
env:
|
||||
PNPM_HOME: ~/.pnpm-store
|
||||
LOG_LEVEL: DEBUG
|
||||
|
||||
jobs:
|
||||
withoutplugins:
|
||||
# run on pushes to any branch
|
||||
|
|
@ -25,37 +29,36 @@ jobs:
|
|||
-
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
-
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 20
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: |
|
||||
${{ env.STORE_PATH }}
|
||||
~/.local/share/gnpm
|
||||
~/.cache/ms-playwright
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: bin/installDeps.sh
|
||||
run: gnpm install --frozen-lockfile
|
||||
-
|
||||
name: Install etherpad-load-test
|
||||
run: sudo npm install -g etherpad-load-test-socket-io
|
||||
-
|
||||
name: Run load test
|
||||
run: src/tests/frontend/travis/runnerLoadTest.sh 25 50
|
||||
run: |
|
||||
gnpm --gnpmEnv
|
||||
eval "$(gnpm --gnpmEnv)"
|
||||
echo $PATH
|
||||
src/tests/frontend/travis/runnerLoadTest.sh 25 50
|
||||
|
||||
withplugins:
|
||||
# run on pushes to any branch
|
||||
|
|
@ -69,37 +72,32 @@ jobs:
|
|||
-
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
-
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 20
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: |
|
||||
${{ env.STORE_PATH }}
|
||||
~/.local/share/gnpm
|
||||
~/.cache/ms-playwright
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
-
|
||||
name: Install etherpad-load-test
|
||||
run: pnpm install -g etherpad-load-test-socket-io
|
||||
run: sudo npm install -g etherpad-load-test-socket-io
|
||||
-
|
||||
name: Install etherpad plugins
|
||||
# The --legacy-peer-deps flag is required to work around a bug in npm v7:
|
||||
# https://github.com/npm/cli/issues/2199
|
||||
run: >
|
||||
pnpm install --workspace-root
|
||||
gnpm install --workspace-root
|
||||
ep_align
|
||||
ep_author_hover
|
||||
ep_cursortrace
|
||||
|
|
@ -123,10 +121,12 @@ jobs:
|
|||
# rules.
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: bin/installDeps.sh
|
||||
run: gnpm install --frozen-lockfile
|
||||
-
|
||||
name: Run load test
|
||||
run: src/tests/frontend/travis/runnerLoadTest.sh 25 50
|
||||
run: |
|
||||
eval "$(gnpm --gnpmEnv)"
|
||||
src/tests/frontend/travis/runnerLoadTest.sh 25 50
|
||||
|
||||
long:
|
||||
# run on pushes to any branch
|
||||
|
|
@ -140,34 +140,33 @@ jobs:
|
|||
-
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
-
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 20
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: |
|
||||
${{ env.STORE_PATH }}
|
||||
~/.local/share/gnpm
|
||||
~/.cache/ms-playwright
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: bin/installDeps.sh
|
||||
run: gnpm install --frozen-lockfile
|
||||
-
|
||||
name: Install etherpad-load-test
|
||||
run: sudo npm install -g etherpad-load-test-socket-io
|
||||
-
|
||||
name: Run load test
|
||||
run: src/tests/frontend/travis/runnerLoadTest.sh 5000 5
|
||||
run: |
|
||||
gnpm --gnpmEnv
|
||||
eval "$(gnpm --gnpmEnv)"
|
||||
echo $PATH
|
||||
src/tests/frontend/travis/runnerLoadTest.sh 5000 5
|
||||
|
|
|
|||
38
.github/workflows/perform-type-check.yml
vendored
38
.github/workflows/perform-type-check.yml
vendored
|
|
@ -12,6 +12,8 @@ on:
|
|||
permissions:
|
||||
contents: read
|
||||
|
||||
env:
|
||||
PNPM_HOME: ~/.pnpm-store
|
||||
|
||||
jobs:
|
||||
performTypeCheck:
|
||||
|
|
@ -23,30 +25,26 @@ jobs:
|
|||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
- uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 20
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: |
|
||||
${{ env.STORE_PATH }}
|
||||
~/.local/share/gnpm
|
||||
~/.cache/ms-playwright
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: ./bin/installDeps.sh
|
||||
run: gnpm install --frozen-lockfile
|
||||
- name: Perform type check
|
||||
working-directory: ./src
|
||||
run: npm run ts-check
|
||||
run: gnpm run ts-check
|
||||
|
|
|
|||
36
.github/workflows/rate-limit.yml
vendored
36
.github/workflows/rate-limit.yml
vendored
|
|
@ -12,6 +12,9 @@ on:
|
|||
permissions:
|
||||
contents: read
|
||||
|
||||
env:
|
||||
PNPM_HOME: ~/.pnpm-store
|
||||
|
||||
jobs:
|
||||
ratelimit:
|
||||
# run on pushes to any branch
|
||||
|
|
@ -25,26 +28,23 @@ jobs:
|
|||
-
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
-
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 20
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: |
|
||||
${{ env.STORE_PATH }}
|
||||
~/.local/share/gnpm
|
||||
~/.cache/ms-playwright
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
|
||||
-
|
||||
name: docker network
|
||||
|
|
@ -63,7 +63,7 @@ jobs:
|
|||
docker run --rm --network ep_net --ip 172.23.42.3 --name anotherip -dt anotherip
|
||||
-
|
||||
name: install dependencies and create symlink for ep_etherpad-lite
|
||||
run: bin/installDeps.sh
|
||||
run: gnpm install --frozen-lockfile
|
||||
-
|
||||
name: run rate limit test
|
||||
run: |
|
||||
|
|
|
|||
36
.github/workflows/release.yml
vendored
36
.github/workflows/release.yml
vendored
|
|
@ -14,6 +14,9 @@ on:
|
|||
- minor
|
||||
- major
|
||||
|
||||
env:
|
||||
PNPM_HOME: ~/.pnpm-store
|
||||
|
||||
jobs:
|
||||
releases:
|
||||
runs-on: ubuntu-latest
|
||||
|
|
@ -44,24 +47,25 @@ jobs:
|
|||
repository: ether/ether.github.com
|
||||
path: ether.github.com
|
||||
token: '${{ secrets.ETHER_RELEASE_TOKEN }}'
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v5
|
||||
- uses: actions/cache@v4
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
with:
|
||||
node-version: '20'
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
path: |
|
||||
${{ env.STORE_PATH }}
|
||||
~/.local/share/gnpm
|
||||
~/.cache/ms-playwright
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- name: Install dependencies etherpad
|
||||
run: pnpm install --frozen-lockfile
|
||||
working-directory: etherpad
|
||||
version: 0.0.12
|
||||
- name: Install dependencies ether.github.com
|
||||
run: pnpm install --frozen-lockfile
|
||||
run: gnpm install --frozen-lockfile
|
||||
working-directory: ether.github.com
|
||||
- name: Set git user
|
||||
run: |
|
||||
|
|
@ -78,7 +82,7 @@ jobs:
|
|||
working-directory: etherpad
|
||||
run: |
|
||||
cd bin
|
||||
pnpm run release ${{ inputs.release_type }}
|
||||
gnpm run release ${{ inputs.release_type }}
|
||||
- name: Push after release
|
||||
working-directory: etherpad
|
||||
run: |
|
||||
|
|
|
|||
|
|
@ -4,20 +4,15 @@ permissions:
|
|||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
PNPM_HOME: ~/.pnpm-store
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
- uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 22
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
|
|
@ -26,19 +21,25 @@ jobs:
|
|||
name: Setup pnpm cache
|
||||
if: always()
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: |
|
||||
${{ env.STORE_PATH }}
|
||||
~/.local/share/gnpm
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 0.0.12
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
run: gnpm install --frozen-lockfile
|
||||
- name: Rename etherpad
|
||||
working-directory: ./src
|
||||
run: sed -i 's/ep_etherpad-lite/ep_etherpad/g' package.json
|
||||
- name: Release to npm
|
||||
run: pnpm publish --no-git-checks
|
||||
run: gnpm publish --no-git-checks
|
||||
working-directory: ./src
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_PRIVATE_TOKEN }}
|
||||
|
|
@ -12,6 +12,9 @@ on:
|
|||
permissions:
|
||||
contents: read
|
||||
|
||||
env:
|
||||
PNPM_HOME: ~/.pnpm-store
|
||||
|
||||
jobs:
|
||||
withpluginsLinux:
|
||||
# run on pushes to any branch
|
||||
|
|
@ -31,35 +34,28 @@ jobs:
|
|||
uses: actions/checkout@v5
|
||||
with:
|
||||
ref: develop #FIXME change to master when doing release
|
||||
-
|
||||
uses: actions/setup-node@v5
|
||||
- uses: actions/cache@v4
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
path: |
|
||||
${{ env.STORE_PATH }}
|
||||
~/.local/share/gnpm
|
||||
~/.cache/ms-playwright
|
||||
/usr/local/bin/gnpm
|
||||
/usr/local/bin/gnpm-0.0.12
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
version: 0.0.12
|
||||
- name: Install libreoffice
|
||||
uses: awalsh128/cache-apt-pkgs-action@v1.5.3
|
||||
with:
|
||||
packages: libreoffice libreoffice-pdfimport
|
||||
version: 1.0
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
-
|
||||
name: Install libreoffice
|
||||
uses: awalsh128/cache-apt-pkgs-action@v1.5.3
|
||||
|
|
@ -68,17 +64,14 @@ jobs:
|
|||
version: 1.0
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: bin/installDeps.sh
|
||||
- name: Install admin ui
|
||||
working-directory: admin
|
||||
run: pnpm install
|
||||
run: gnpm install --frozen-lockfile --runtimeVersion="${{ matrix.node }}"
|
||||
- name: Build admin ui
|
||||
working-directory: admin
|
||||
run: pnpm build
|
||||
run: gnpm build --runtimeVersion="${{ matrix.node }}"
|
||||
-
|
||||
name: Install Etherpad plugins
|
||||
run: >
|
||||
pnpm run install-plugins
|
||||
gnpm run install-plugins
|
||||
ep_align
|
||||
ep_author_hover
|
||||
ep_cursortrace
|
||||
|
|
@ -90,13 +83,13 @@ jobs:
|
|||
ep_set_title_on_pad
|
||||
ep_spellcheck
|
||||
ep_subscript_and_superscript
|
||||
ep_table_of_contents
|
||||
ep_table_of_contents --runtimeVersion="${{ matrix.node }}"
|
||||
-
|
||||
name: Run the backend tests
|
||||
run: pnpm run test
|
||||
run: gnpm run test --runtimeVersion="${{ matrix.node }}"
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: ./bin/installDeps.sh
|
||||
run: gnpm install --frozen-lockfile --runtimeVersion="${{ matrix.node }}"
|
||||
# Because actions/checkout@v5 is called with "ref: master" and without
|
||||
# "fetch-depth: 0", the local clone does not have the ${GITHUB_SHA}
|
||||
# commit. Fetch ${GITHUB_REF} to get the ${GITHUB_SHA} commit. Note that a
|
||||
|
|
@ -113,4 +106,4 @@ jobs:
|
|||
# commit that merges the PR's source branch to its destination branch.
|
||||
run: git checkout "${GITHUB_SHA}"
|
||||
- name: Run the backend tests
|
||||
run: pnpm run test
|
||||
run: gnpm run test --runtimeVersion="${{ matrix.node }}"
|
||||
|
|
|
|||
86
.github/workflows/windows.yml
vendored
86
.github/workflows/windows.yml
vendored
|
|
@ -1,86 +0,0 @@
|
|||
name: "Windows Build"
|
||||
|
||||
# any branch is useful for testing before a PR is submitted
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- "doc/**"
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- "doc/**"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build-zip:
|
||||
permissions: write-all
|
||||
# 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: Build .zip
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
-
|
||||
uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
path-type: inherit
|
||||
install: >-
|
||||
zip
|
||||
-
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
-
|
||||
uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 22
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
name: Setup pnpm cache
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- name: Only install direct dependencies
|
||||
run: pnpm config set auto-install-peers false
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
shell: msys2 {0}
|
||||
run: bin/installDeps.sh
|
||||
-
|
||||
name: Run the backend tests
|
||||
shell: msys2 {0}
|
||||
working-directory: src
|
||||
run: pnpm test
|
||||
-
|
||||
name: Run Etherpad
|
||||
working-directory: src
|
||||
run: |
|
||||
pnpm i
|
||||
pnpm exec playwright install --with-deps
|
||||
pnpm run prod &
|
||||
curl --connect-timeout 10 --max-time 20 --retry 5 --retry-delay 10 --retry-max-time 60 --retry-connrefused http://127.0.0.1:9001/p/test
|
||||
pnpm exec playwright install chromium --with-deps
|
||||
pnpm run test-ui --project=chromium
|
||||
# On release, create release
|
||||
- name: Generate Changelog
|
||||
if: ${{startsWith(github.ref, 'refs/tags/v') }}
|
||||
working-directory: bin
|
||||
run: pnpm run generateChangelog ${{ github.ref }} > ${{ github.workspace }}-CHANGELOG.txt
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: ${{startsWith(github.ref, 'refs/tags/v') }}
|
||||
with:
|
||||
body_path: ${{ github.workspace }}-CHANGELOG.txt
|
||||
make_latest: true
|
||||
|
|
@ -42,14 +42,14 @@
|
|||
"ui": "workspace:./ui"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.18.2",
|
||||
"npm": ">=6.14.0",
|
||||
"pnpm": ">=8.3.0"
|
||||
"node": ">=20.0.0"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ether/etherpad-lite.git"
|
||||
},
|
||||
"packageManager": "pnpm@10.18.0",
|
||||
"engineStrict": true,
|
||||
"version": "2.5.0",
|
||||
"license": "Apache-2.0"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue