diff --git a/.lgtm.yml b/.lgtm.yml deleted file mode 100644 index 9dd0f16b6..000000000 --- a/.lgtm.yml +++ /dev/null @@ -1,9 +0,0 @@ -extraction: - javascript: - index: - exclude: - - src/static/js/vendors - python: - index: - exclude: - - / diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ca8c5380f..000000000 --- a/.travis.yml +++ /dev/null @@ -1,145 +0,0 @@ -language: node_js - -node_js: - - "lts/*" - -services: - - docker - -cache: false - -env: - global: - - secure: "WMGxFkOeTTlhWB+ChMucRtIqVmMbwzYdNHuHQjKCcj8HBEPdZLfCuK/kf4rG\nVLcLQiIsyllqzNhBGVHG1nyqWr0/LTm8JRqSCDDVIhpyzp9KpCJQQJG2Uwjk\n6/HIJJh/wbxsEdLNV2crYU/EiVO3A4Bq0YTHUlbhUqG3mSCr5Ec=" - - secure: "gejXUAHYscbR6Bodw35XexpToqWkv2ifeECsbeEmjaLkYzXmUUNWJGknKSu7\nEUsSfQV8w+hxApr1Z+jNqk9aX3K1I4btL3cwk2trnNI8XRAvu1c1Iv60eerI\nkE82Rsd5lwUaMEh+/HoL8ztFCZamVndoNgX7HWp5J/NRZZMmh4g=" - -_set_loglevel_warn: &set_loglevel_warn | - sed -e 's/"loglevel":[^,]*/"loglevel": "WARN"/' \ - settings.json.template >settings.json.template.new && - mv settings.json.template.new settings.json.template - -_enable_admin_tests: &enable_admin_tests | -sed -e 's/"enableAdminUITests": false/"enableAdminUITests": true,\n"users":{"admin":{"password":"changeme","is_admin":true}}/' \ - settings.json.template >settings.json.template.new && - mv settings.json.template.new settings.json.template - -_install_libreoffice: &install_libreoffice >- - sudo add-apt-repository -y ppa:libreoffice/ppa && - sudo apt-get update && - sudo apt-get -y install libreoffice libreoffice-pdfimport - -# The --legacy-peer-deps flag is required to work around a bug in npm v7: -# https://github.com/npm/cli/issues/2199 -_install_plugins: &install_plugins >- - npm install --no-save --legacy-peer-deps - ep_align - ep_author_hover - ep_cursortrace - ep_font_size - ep_hash_auth - ep_headings2 - ep_markdown - ep_readonly_guest - ep_spellcheck - ep_subscript_and_superscript - ep_table_of_contents - ep_set_title_on_pad - -jobs: - include: - # we can only frontend tests from the ether/ organization and not from forks. - # To request tests to be run ask a maintainer to fork your repo to ether/ - - if: fork = false - name: "Test the Frontend without Plugins" - install: - - *set_loglevel_warn - - *enable_admin_tests - - "src/tests/frontend/travis/sauce_tunnel.sh" - - "bin/installDeps.sh" - - "export GIT_HASH=$(git rev-parse --verify --short HEAD)" - script: - - "./src/tests/frontend/travis/runner.sh" - - name: "Run the Backend tests without Plugins" - install: - - *install_libreoffice - - *set_loglevel_warn - - "bin/installDeps.sh" - - "cd src && pnpm install && cd -" - script: - - "cd src && pnpm test" - - name: "Test the Dockerfile" - install: - - "cd src && pnpm install && cd -" - script: - - "docker build -t etherpad:test ." - - "docker run -d -p 9001:9001 etherpad:test && sleep 3" - - "cd src && pnpm run test-container" - - name: "Load test Etherpad without Plugins" - install: - - *set_loglevel_warn - - "bin/installDeps.sh" - - "cd src && pnpm install && cd -" - - "npm install -g etherpad-load-test" - script: - - "src/tests/frontend/travis/runnerLoadTest.sh" - # we can only frontend tests from the ether/ organization and not from forks. - # To request tests to be run ask a maintainer to fork your repo to ether/ - - if: fork = false - name: "Test the Frontend Plugins only" - install: - - *set_loglevel_warn - - *enable_admin_tests - - "src/tests/frontend/travis/sauce_tunnel.sh" - - "bin/installDeps.sh" - - "rm src/tests/frontend/specs/*" - - *install_plugins - - "export GIT_HASH=$(git rev-parse --verify --short HEAD)" - script: - - "./src/tests/frontend/travis/runner.sh" - - name: "Lint test package-lock.json" - install: - - "npm install lockfile-lint" - script: - - npx lockfile-lint --path src/package-lock.json --validate-https --allowed-hosts npm - - name: "Run the Backend tests with Plugins" - install: - - *install_libreoffice - - *set_loglevel_warn - - "bin/installDeps.sh" - - *install_plugins - - "cd src && pnpm install && cd -" - script: - - "cd src && pnpm test" - - name: "Test the Dockerfile" - install: - - "cd src && pnpm install && cd -" - script: - - "docker build -t etherpad:test ." - - "docker run -d -p 9001:9001 etherpad:test && sleep 3" - - "cd src && pnpm run test-container" - - name: "Load test Etherpad with Plugins" - install: - - *set_loglevel_warn - - "bin/installDeps.sh" - - *install_plugins - - "cd src && npm install && cd -" - - "npm install -g etherpad-load-test" - script: - - "src/tests/frontend/travis/runnerLoadTest.sh" - - name: "Test rate limit" - install: - - "docker network create --subnet=172.23.42.0/16 ep_net" - - "docker build -f Dockerfile -t epl-debian-slim ." - - "docker build -f src/tests/ratelimit/Dockerfile.nginx -t nginx-latest ." - - "docker build -f src/tests/ratelimit/Dockerfile.anotherip -t anotherip ." - - "docker run -p 8081:80 --rm --network ep_net --ip 172.23.42.1 -d nginx-latest" - - "docker run --name etherpad-docker -p 9000:9001 --rm --network ep_net --ip 172.23.42.2 -e 'TRUST_PROXY=true' epl-debian-slim &" - - "docker run --rm --network ep_net --ip 172.23.42.3 --name anotherip -dt anotherip" - - "./bin/installDeps.sh" - script: - - "cd src/tests/ratelimit && bash testlimits.sh" - -notifications: - irc: - channels: - - "irc.freenode.org#etherpad-lite-dev" diff --git a/bin/installOnWindows.bat b/bin/installOnWindows.bat deleted file mode 100644 index 97cddce24..000000000 --- a/bin/installOnWindows.bat +++ /dev/null @@ -1,49 +0,0 @@ -@echo off - -:: Change directory to etherpad-lite root -cd /D "%~dp0\.." - -:: Is node installed? -cmd /C node -e "" || ( echo "Please install node.js ( https://nodejs.org )" && exit /B 1 ) - -echo _ -echo Ensure that all dependencies are up to date... If this is the first time you have run Etherpad please be patient. - - -:: Install admin ui only if available -IF EXIST admin ( - cd /D .\admin - dir - cmd /C pnpm i || exit /B 1 - cmd /C pnpm run build || exit /B 1 - cd /D .. -) - -:: Install ui only if available -IF EXIST ui ( - cd /D .\ui - dir - cmd /C pnpm i || exit /B 1 - cmd /C pnpm run build || exit /B 1 - cd /D .. -) - - -cmd /C pnpm i || exit /B 1 - -cd /D "%~dp0\.." - -echo _ -echo Clearing cache... -del /S var\minified* - -echo _ -echo Setting up settings.json... -IF NOT EXIST settings.json ( - echo Can't find settings.json. - echo Copying settings.json.template... - cmd /C copy settings.json.template settings.json || exit /B 1 -) - -echo _ -echo Installed Etherpad! To run Etherpad type start.bat diff --git a/doc/plugins.md b/doc/plugins.md index d90d52895..95fbb9c40 100644 --- a/doc/plugins.md +++ b/doc/plugins.md @@ -38,7 +38,7 @@ ep_/ ├ locales/ │ ├ en.json ◄─ English (US) strings │ └ qqq.json ◄─ optional hints for translators - ├ .travis.yml ◄─ Travis CI config + ├ .github/workflows/ ◄─ CI workflows (backend / frontend tests, npm publish) ├ LICENSE ├ README.md ├ ep.json ◄─ Etherpad plugin definition diff --git a/start.bat b/start.bat deleted file mode 100644 index bf8f1b23d..000000000 --- a/start.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off -REM Windows and symlinks do not get along with each other, so on Windows -REM `node_modules\ep_etherpad-lite` is sometimes a full copy of `src` not a -REM symlink to `src`. If it is a copy, Node.js sees `src\foo.js` and -REM `node_modules\ep_etherpad-lite\foo.js` as two independent modules with -REM independent state, when they should be treated as the same file. To work -REM around this, everything must consistently use either `src` or -REM `node_modules\ep_etherpad-lite` on Windows. Because some plugins access -REM Etherpad internals via `require('ep_etherpad-lite/foo')`, -REM `node_modules\ep_etherpad-lite` is used here. -cd src -pnpm run prod