mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-01-19 14:13:34 +01:00
04063d664b
* fix bin folder and workflows as far its possible cleanup of dockerfile changed paths of scripts add lock file fix working directory for workflows fix windows bin fix travis (is travis used anyway?) fix package refs remove pnpm-lock file in root as these conflicts with the docker volume setup optimize comments use install again refactor prod image call to run fix --workspace can only be used inside a workspace correct comment try fix pipeline try fix pipeline for upgrade-from-latest-release install all deps smaller adjustments save update dockerfile remove workspace command fix run test command start repair latest release workflow start repair latest release workflow start repair latest release workflow further repairs * remove test plugin from docker compose
145 lines
5.2 KiB
YAML
145 lines
5.2 KiB
YAML
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"
|