mirror of
https://github.com/ether/etherpad-lite.git
synced 2026-05-05 04:06:37 +02:00
chore: added release notes for 2.7.1 (#7604)
* chore: added release notes for 2.7.1 * chore: don't cache node_modules due to cas
This commit is contained in:
parent
cd793294c4
commit
a05bb7d7b3
146
.github/workflows/backend-tests.yml
vendored
146
.github/workflows/backend-tests.yml
vendored
@ -28,27 +28,28 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# PRs: test on latest Node only. Push to develop: full matrix.
|
||||
node: ${{ github.event_name == 'pull_request' && fromJSON('[">=24.0.0 <25.0.0"]') || fromJSON('[">=20.0.0 <21.0.0", ">=22.0.0 <23.0.0", ">=24.0.0 <25.0.0"]') }}
|
||||
node: ${{ github.event_name == 'pull_request' && fromJSON('[24]') || fromJSON('[20, 22, 24]') }}
|
||||
steps:
|
||||
-
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
- uses: actions/cache@v5
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
with:
|
||||
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') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 0.0.12
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
cache: pnpm
|
||||
-
|
||||
name: Install libreoffice
|
||||
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
|
||||
@ -57,19 +58,19 @@ jobs:
|
||||
version: 1.0
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: gnpm i --frozen-lockfile --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm i --frozen-lockfile
|
||||
- name: Install admin ui
|
||||
working-directory: admin
|
||||
run: gnpm install --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm install
|
||||
- name: Build admin ui
|
||||
working-directory: admin
|
||||
run: gnpm build --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm build
|
||||
-
|
||||
name: Run the backend tests
|
||||
run: gnpm test --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm test
|
||||
- name: Run the new vitest tests
|
||||
working-directory: src
|
||||
run: gnpm run test:vitest --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm run test:vitest
|
||||
|
||||
withpluginsLinux:
|
||||
env:
|
||||
@ -84,27 +85,28 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node: ${{ github.event_name == 'pull_request' && fromJSON('[">=24.0.0 <25.0.0"]') || fromJSON('[">=20.0.0 <21.0.0", ">=22.0.0 <23.0.0", ">=24.0.0 <25.0.0"]') }}
|
||||
node: ${{ github.event_name == 'pull_request' && fromJSON('[24]') || fromJSON('[20, 22, 24]') }}
|
||||
steps:
|
||||
-
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
- uses: actions/cache@v5
|
||||
name: Setup pnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
with:
|
||||
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') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 0.0.12
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
cache: pnpm
|
||||
-
|
||||
name: Install libreoffice
|
||||
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
|
||||
@ -113,14 +115,14 @@ jobs:
|
||||
version: 1.0
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: gnpm install --frozen-lockfile --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Build admin ui
|
||||
working-directory: admin
|
||||
run: gnpm build --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm build
|
||||
-
|
||||
name: Install Etherpad plugins
|
||||
run: >
|
||||
gnpm install --workspace-root
|
||||
pnpm add -w
|
||||
ep_align
|
||||
ep_author_hover
|
||||
ep_cursortrace
|
||||
@ -134,10 +136,10 @@ jobs:
|
||||
ep_table_of_contents
|
||||
-
|
||||
name: Run the backend tests
|
||||
run: gnpm test --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm test
|
||||
- name: Run the new vitest tests
|
||||
working-directory: src
|
||||
run: gnpm run test:vitest --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm run test:vitest
|
||||
|
||||
# Windows tests only run on push to develop/master, not on PRs
|
||||
withoutpluginsWindows:
|
||||
@ -148,7 +150,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node: [">=20.0.0 <21.0.0", ">=22.0.0 <23.0.0", ">=24.0.0 <25.0.0"]
|
||||
node: [20, 22, 24]
|
||||
name: Windows without plugins
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
@ -156,26 +158,28 @@ jobs:
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
- uses: actions/cache@v5
|
||||
name: Setup pnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
with:
|
||||
path: |
|
||||
${{ env.PNPM_HOME }}
|
||||
C:\gnpm\
|
||||
C:\Users\runneradmin\AppData\Roaming\gnpm\
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 0.0.12
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
cache: pnpm
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: gnpm install --frozen-lockfile --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Build admin ui
|
||||
working-directory: admin
|
||||
run: gnpm build --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm build
|
||||
-
|
||||
name: Fix up the settings.json
|
||||
run: |
|
||||
@ -184,10 +188,10 @@ jobs:
|
||||
-
|
||||
name: Run the backend tests
|
||||
working-directory: src
|
||||
run: gnpm test --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm test
|
||||
- name: Run the new vitest tests
|
||||
working-directory: src
|
||||
run: gnpm run test:vitest --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm run test:vitest
|
||||
|
||||
withpluginsWindows:
|
||||
env:
|
||||
@ -197,7 +201,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node: [">=20.0.0 <21.0.0", ">=22.0.0 <23.0.0", ">=24.0.0 <25.0.0"]
|
||||
node: [20, 22, 24]
|
||||
name: Windows with Plugins
|
||||
runs-on: windows-latest
|
||||
|
||||
@ -206,29 +210,31 @@ jobs:
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
- uses: actions/cache@v5
|
||||
name: Setup pnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
with:
|
||||
path: |
|
||||
${{ env.PNPM_HOME }}
|
||||
C:\gnpm\
|
||||
C:\Users\runneradmin\AppData\Roaming\gnpm\
|
||||
key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 0.0.12
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
cache: pnpm
|
||||
- name: Install dependencies
|
||||
run: gnpm install --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm install
|
||||
- name: Build admin ui
|
||||
working-directory: admin
|
||||
run: gnpm build --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm build
|
||||
-
|
||||
name: Install Etherpad plugins
|
||||
run: >
|
||||
gnpm install --workspace-root
|
||||
pnpm add -w
|
||||
ep_align
|
||||
ep_author_hover
|
||||
ep_cursortrace
|
||||
@ -251,7 +257,7 @@ jobs:
|
||||
# rules.
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: gnpm install --frozen-lockfile --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm install --frozen-lockfile
|
||||
-
|
||||
name: Fix up the settings.json
|
||||
run: |
|
||||
@ -260,7 +266,7 @@ jobs:
|
||||
-
|
||||
name: Run the backend tests
|
||||
working-directory: src
|
||||
run: gnpm test --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm test
|
||||
- name: Run the new vitest tests
|
||||
working-directory: src
|
||||
run: gnpm run test:vitest --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm run test:vitest
|
||||
|
||||
31
.github/workflows/build-and-deploy-docs.yml
vendored
31
.github/workflows/build-and-deploy-docs.yml
vendored
@ -34,28 +34,31 @@ jobs:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
- uses: actions/cache@v5
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
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') }}
|
||||
path: ~/.pnpm-store
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: actions/cache@v5
|
||||
name: Cache vitepress build
|
||||
with:
|
||||
version: 0.0.12
|
||||
path: doc/.vitepress/cache
|
||||
key: ${{ runner.os }}-vitepress-${{ hashFiles('doc/**/*.md', 'doc/.vitepress/config.*') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-vitepress-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
- name: Setup Pages
|
||||
uses: actions/configure-pages@v6
|
||||
- name: Install dependencies
|
||||
run: gnpm install
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Build app
|
||||
working-directory: doc
|
||||
run: gnpm run docs:build
|
||||
run: pnpm run docs:build
|
||||
env:
|
||||
COMMIT_REF: ${{ github.sha }}
|
||||
- name: Upload artifact
|
||||
|
||||
22
.github/workflows/docker.yml
vendored
22
.github/workflows/docker.yml
vendored
@ -43,21 +43,17 @@ jobs:
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
- uses: actions/cache@v5
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
with:
|
||||
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') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 0.0.12
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
-
|
||||
name: Test
|
||||
working-directory: etherpad
|
||||
@ -74,7 +70,7 @@ jobs:
|
||||
*) printf %s\\n "unexpected status: ${status}" >&2; exit 1;;
|
||||
esac
|
||||
done
|
||||
(cd src && gnpm run test-container)
|
||||
(cd src && pnpm run test-container)
|
||||
git clean -dxf .
|
||||
|
||||
build-test-db-drivers:
|
||||
|
||||
33
.github/workflows/frontend-admin-tests.yml
vendored
33
.github/workflows/frontend-admin-tests.yml
vendored
@ -29,24 +29,25 @@ jobs:
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
- uses: actions/cache@v5
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
with:
|
||||
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') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 0.0.12
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
cache: pnpm
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: gnpm i --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm i
|
||||
- name: Cache Playwright browsers
|
||||
uses: actions/cache@v5
|
||||
id: playwright-cache
|
||||
@ -71,11 +72,11 @@ jobs:
|
||||
- name: Build admin frontend
|
||||
working-directory: admin
|
||||
run: |
|
||||
gnpm run build --runtimeVersion="${{ matrix.node }}"
|
||||
pnpm run build
|
||||
- name: Run the frontend admin tests
|
||||
shell: bash
|
||||
run: |
|
||||
gnpm run prod --runtimeVersion="${{ matrix.node }}" > /tmp/etherpad-server.log 2>&1 &
|
||||
pnpm run prod > /tmp/etherpad-server.log 2>&1 &
|
||||
connected=false
|
||||
can_connect() {
|
||||
curl -sSfo /dev/null http://localhost:9001/ || return 1
|
||||
@ -87,7 +88,7 @@ jobs:
|
||||
sleep 1
|
||||
done
|
||||
cd src
|
||||
gnpm run test-admin --runtimeVersion="${{ matrix.node }}"
|
||||
pnpm run test-admin
|
||||
- name: Upload server log on failure
|
||||
uses: actions/upload-artifact@v7
|
||||
if: failure()
|
||||
|
||||
72
.github/workflows/frontend-tests.yml
vendored
72
.github/workflows/frontend-tests.yml
vendored
@ -22,32 +22,34 @@ jobs:
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
- uses: actions/cache@v5
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
with:
|
||||
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') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: actions/cache@v5
|
||||
name: Cache Playwright browsers
|
||||
with:
|
||||
version: 0.0.12
|
||||
path: ~/.cache/ms-playwright
|
||||
key: ${{ runner.os }}-playwright-${{ hashFiles('src/package.json', 'pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-playwright-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: gnpm install --frozen-lockfile
|
||||
run: pnpm install --frozen-lockfile
|
||||
-
|
||||
name: Create settings.json
|
||||
run: cp ./src/tests/settings.json settings.json
|
||||
- name: Run the frontend tests
|
||||
shell: bash
|
||||
run: |
|
||||
gnpm run prod > /tmp/etherpad-server.log 2>&1 &
|
||||
pnpm run prod > /tmp/etherpad-server.log 2>&1 &
|
||||
connected=false
|
||||
can_connect() {
|
||||
curl -sSfo /dev/null http://localhost:9001/ || return 1
|
||||
@ -59,8 +61,8 @@ jobs:
|
||||
sleep 1
|
||||
done
|
||||
cd src
|
||||
gnpm exec playwright install chromium --with-deps
|
||||
gnpm run test-ui --project=chromium
|
||||
pnpm exec playwright install chromium --with-deps
|
||||
pnpm run test-ui --project=chromium
|
||||
- name: Upload server log on failure
|
||||
uses: actions/upload-artifact@v7
|
||||
if: failure()
|
||||
@ -83,30 +85,32 @@ jobs:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
- uses: actions/cache@v5
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
with:
|
||||
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') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: actions/cache@v5
|
||||
name: Cache Playwright browsers
|
||||
with:
|
||||
version: 0.0.12
|
||||
path: ~/.cache/ms-playwright
|
||||
key: ${{ runner.os }}-playwright-${{ hashFiles('src/package.json', 'pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-playwright-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
- name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: gnpm install --frozen-lockfile
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Create settings.json
|
||||
run: cp ./src/tests/settings.json settings.json
|
||||
- name: Run the frontend tests
|
||||
shell: bash
|
||||
run: |
|
||||
gnpm run prod > /tmp/etherpad-server.log 2>&1 &
|
||||
pnpm run prod > /tmp/etherpad-server.log 2>&1 &
|
||||
connected=false
|
||||
can_connect() {
|
||||
curl -sSfo /dev/null http://localhost:9001/ || return 1
|
||||
@ -118,8 +122,8 @@ jobs:
|
||||
sleep 1
|
||||
done
|
||||
cd src
|
||||
gnpm exec playwright install firefox --with-deps
|
||||
gnpm run test-ui --project=firefox
|
||||
pnpm exec playwright install firefox --with-deps
|
||||
pnpm run test-ui --project=firefox
|
||||
- name: Upload server log on failure
|
||||
uses: actions/upload-artifact@v7
|
||||
if: failure()
|
||||
|
||||
32
.github/workflows/handleRelease.yml
vendored
32
.github/workflows/handleRelease.yml
vendored
@ -29,30 +29,28 @@ jobs:
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
- uses: actions/cache@v5
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
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') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 0.0.12
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
- name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: gnpm install --frozen-lockfile
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Build etherpad
|
||||
run: gnpm run build:etherpad
|
||||
# On release, create release
|
||||
run: pnpm run build:etherpad
|
||||
# On release, create release. `--silent` suppresses pnpm's lifecycle
|
||||
# banner ("> generateChangelog\n> node ...") that would otherwise be
|
||||
# captured into CHANGELOG.txt and end up at the top of the GitHub
|
||||
# release notes.
|
||||
- name: Generate Changelog
|
||||
working-directory: bin
|
||||
run: gnpm run generateChangelog ${{ github.ref }} > ${{ github.workspace }}-CHANGELOG.txt
|
||||
run: pnpm --silent run generateChangelog ${{ github.ref }} > ${{ github.workspace }}-CHANGELOG.txt
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v3
|
||||
if: ${{startsWith(github.ref, 'refs/tags/v') }}
|
||||
|
||||
89
.github/workflows/load-test.yml
vendored
89
.github/workflows/load-test.yml
vendored
@ -26,35 +26,26 @@ jobs:
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
- uses: actions/cache@v5
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
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') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 0.0.12
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: gnpm install --frozen-lockfile
|
||||
run: pnpm install --frozen-lockfile
|
||||
-
|
||||
name: Install etherpad-load-test
|
||||
run: sudo npm install -g etherpad-load-test-socket-io
|
||||
-
|
||||
name: Run load test
|
||||
run: |
|
||||
gnpm --gnpmEnv
|
||||
eval "$(gnpm --gnpmEnv)"
|
||||
echo $PATH
|
||||
src/tests/frontend/travis/runnerLoadTest.sh 25 50
|
||||
run: src/tests/frontend/travis/runnerLoadTest.sh 25 50
|
||||
|
||||
withplugins:
|
||||
# run on pushes to any branch
|
||||
@ -69,31 +60,24 @@ jobs:
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
- uses: actions/cache@v5
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
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') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 0.0.12
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
-
|
||||
name: Install etherpad-load-test
|
||||
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: >
|
||||
gnpm install --workspace-root
|
||||
pnpm add -w
|
||||
ep_align
|
||||
ep_author_hover
|
||||
ep_cursortrace
|
||||
@ -117,12 +101,10 @@ jobs:
|
||||
# rules.
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: gnpm install --frozen-lockfile
|
||||
run: pnpm install --frozen-lockfile
|
||||
-
|
||||
name: Run load test
|
||||
run: |
|
||||
eval "$(gnpm --gnpmEnv)"
|
||||
src/tests/frontend/travis/runnerLoadTest.sh 25 50
|
||||
run: src/tests/frontend/travis/runnerLoadTest.sh 25 50
|
||||
|
||||
long:
|
||||
# run on pushes to any branch
|
||||
@ -137,32 +119,23 @@ jobs:
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
- uses: actions/cache@v5
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
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') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 0.0.12
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: gnpm install --frozen-lockfile
|
||||
run: pnpm install --frozen-lockfile
|
||||
-
|
||||
name: Install etherpad-load-test
|
||||
run: sudo npm install -g etherpad-load-test-socket-io
|
||||
-
|
||||
name: Run load test
|
||||
run: |
|
||||
gnpm --gnpmEnv
|
||||
eval "$(gnpm --gnpmEnv)"
|
||||
echo $PATH
|
||||
src/tests/frontend/travis/runnerLoadTest.sh 5000 5
|
||||
run: src/tests/frontend/travis/runnerLoadTest.sh 5000 5
|
||||
|
||||
28
.github/workflows/perform-type-check.yml
vendored
28
.github/workflows/perform-type-check.yml
vendored
@ -26,25 +26,19 @@ jobs:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
- uses: actions/cache@v5
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
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') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 0.0.12
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: gnpm install --frozen-lockfile
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
- name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Perform type check
|
||||
working-directory: ./src
|
||||
run: gnpm run ts-check
|
||||
run: pnpm run ts-check
|
||||
|
||||
23
.github/workflows/rate-limit.yml
vendored
23
.github/workflows/rate-limit.yml
vendored
@ -29,22 +29,17 @@ jobs:
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
- uses: actions/cache@v5
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
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') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 0.0.12
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
|
||||
-
|
||||
name: docker network
|
||||
@ -63,7 +58,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: gnpm install --frozen-lockfile
|
||||
run: pnpm install --frozen-lockfile
|
||||
-
|
||||
name: run rate limit test
|
||||
run: |
|
||||
|
||||
27
.github/workflows/release.yml
vendored
27
.github/workflows/release.yml
vendored
@ -48,24 +48,19 @@ jobs:
|
||||
path: ether.github.com
|
||||
token: '${{ secrets.ETHER_RELEASE_TOKEN }}'
|
||||
- uses: actions/cache@v5
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
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') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 0.0.12
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
- name: Install dependencies ether.github.com
|
||||
run: gnpm install --frozen-lockfile
|
||||
run: pnpm install --frozen-lockfile
|
||||
working-directory: ether.github.com
|
||||
- name: Set git user
|
||||
run: |
|
||||
@ -82,8 +77,8 @@ jobs:
|
||||
working-directory: etherpad
|
||||
run: |
|
||||
cd bin
|
||||
gnpm install
|
||||
gnpm run release ${{ inputs.release_type }}
|
||||
pnpm install
|
||||
pnpm run release ${{ inputs.release_type }}
|
||||
- name: Push after release
|
||||
working-directory: etherpad
|
||||
run: |
|
||||
|
||||
30
.github/workflows/releaseEtherpad.yml
vendored
30
.github/workflows/releaseEtherpad.yml
vendored
@ -23,33 +23,25 @@ jobs:
|
||||
registry-url: https://registry.npmjs.org/
|
||||
- name: Upgrade npm to >=11.5.1 (required for trusted publishing)
|
||||
run: npm install -g npm@latest
|
||||
- name: Get pnpm store directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v5
|
||||
name: Setup pnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
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') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 0.0.12
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
- name: Install dependencies
|
||||
run: gnpm install --frozen-lockfile
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Rename etherpad
|
||||
working-directory: ./src
|
||||
run: sed -i 's/ep_etherpad-lite/ep_etherpad/g' package.json
|
||||
# Use `npm publish` directly (not `gnpm`/`pnpm` wrappers) because OIDC
|
||||
# trusted publishing requires npm CLI >= 11.5.1 and the wrappers shell
|
||||
# Use `npm publish` directly (not the `pnpm` wrapper) because OIDC
|
||||
# trusted publishing requires npm CLI >= 11.5.1 and the wrapper shells
|
||||
# out to npm; calling npm directly avoids any shim ambiguity. The
|
||||
# ep_etherpad package must have a trusted publisher configured on
|
||||
# npmjs.com pointing at this workflow file. See:
|
||||
|
||||
2
.github/workflows/update-plugins.yml
vendored
2
.github/workflows/update-plugins.yml
vendored
@ -21,7 +21,7 @@ jobs:
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 10
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
|
||||
- name: Use Node.js
|
||||
|
||||
@ -36,22 +36,22 @@ jobs:
|
||||
with:
|
||||
ref: develop #FIXME change to master when doing release
|
||||
- uses: actions/cache@v5
|
||||
name: Setup gnpm cache
|
||||
if: always()
|
||||
name: Cache pnpm store
|
||||
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') }}
|
||||
path: ${{ env.PNPM_HOME }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gnpm-store-
|
||||
- name: Setup gnpm
|
||||
uses: SamTV12345/gnpm-setup@main
|
||||
${{ runner.os }}-pnpm-store-
|
||||
- uses: pnpm/action-setup@v6
|
||||
name: Install pnpm
|
||||
with:
|
||||
version: 0.0.12
|
||||
version: 10.33.2
|
||||
run_install: false
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
cache: pnpm
|
||||
- name: Install libreoffice
|
||||
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
|
||||
with:
|
||||
@ -59,14 +59,14 @@ jobs:
|
||||
version: 1.0
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: gnpm install --frozen-lockfile --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm install --frozen-lockfile
|
||||
- name: Build admin ui
|
||||
working-directory: admin
|
||||
run: gnpm build --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm build
|
||||
-
|
||||
name: Install Etherpad plugins
|
||||
run: >
|
||||
gnpm run install-plugins
|
||||
pnpm run install-plugins
|
||||
ep_align
|
||||
ep_author_hover
|
||||
ep_cursortrace
|
||||
@ -78,13 +78,13 @@ jobs:
|
||||
ep_set_title_on_pad
|
||||
ep_spellcheck
|
||||
ep_subscript_and_superscript
|
||||
ep_table_of_contents --runtimeVersion="${{ matrix.node }}"
|
||||
ep_table_of_contents
|
||||
-
|
||||
name: Run the backend tests
|
||||
run: gnpm run test --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm run test
|
||||
-
|
||||
name: Install all dependencies and symlink for ep_etherpad-lite
|
||||
run: gnpm install --frozen-lockfile --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm install --frozen-lockfile
|
||||
# Because actions/checkout@v6 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
|
||||
@ -101,4 +101,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: gnpm run test --runtimeVersion="${{ matrix.node }}"
|
||||
run: pnpm run test
|
||||
|
||||
12
CHANGELOG.md
12
CHANGELOG.md
@ -1,3 +1,15 @@
|
||||
# 2.7.2
|
||||
|
||||
### Notable enhancements and fixes
|
||||
|
||||
- Accessibility pass: corrected dialog semantics, improved focus management, added missing icon labels, and set the `html lang` attribute correctly.
|
||||
- Chat: clicking the chat icon works again, disabled toggles render properly, and the username layout no longer overflows.
|
||||
- `/export/etherpad` now honors the `:rev` URL segment, so revision-specific exports return the requested revision instead of the latest.
|
||||
- Undo / redo now scrolls the viewport to follow the caret, so reverted edits stay in view.
|
||||
- Page Down / Page Up now scrolls by viewport height instead of a fixed line count, matching standard editor behavior on tall and short windows alike.
|
||||
- Editbar: caret is restored to the pad after changing a toolbar select, so typing continues in the document instead of falling through to the toolbar.
|
||||
- Admin: i18n is restored on `/admin` so the admin UI is translated again.
|
||||
|
||||
# 2.7.1
|
||||
|
||||
### Notable enhancements and fixes
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user