mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-02-01 03:12:42 +01:00
519aba44c8
We use this package when testing rate limiting. We already install it in Docker, when running the Github workflow, so there is no need to install it by default. In contrast to other devDependencies this is not required in case you want to run the backend tests or check the code with eslint etc.
55 lines
1.8 KiB
YAML
55 lines
1.8 KiB
YAML
name: "rate limit"
|
|
|
|
# any branch is useful for testing before a PR is submitted
|
|
on: [push, pull_request]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
ratelimit:
|
|
# 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: test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
-
|
|
name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
-
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
cache: 'npm'
|
|
cache-dependency-path: |
|
|
src/package-lock.json
|
|
src/bin/doc/package-lock.json
|
|
-
|
|
name: docker network
|
|
run: docker network create --subnet=172.23.42.0/16 ep_net
|
|
-
|
|
name: build docker image
|
|
run: |
|
|
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 .
|
|
-
|
|
name: run docker images
|
|
run: |
|
|
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 -p 8081:80 --rm --network ep_net --ip 172.23.42.1 -d nginx-latest
|
|
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: src/bin/installDeps.sh
|
|
-
|
|
name: Install etherpad-cli-client
|
|
run: npm i etherpad-cli-client
|
|
-
|
|
name: run rate limit test
|
|
run: |
|
|
cd src/tests/ratelimit
|
|
./testlimits.sh
|