pad.libre-service.eu-etherpad/.github/workflows/rate-limit.yml
webzwo0i 519aba44c8 Remove etherpad-cli-client devDependency.
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.
2023-12-18 21:58:46 +01:00

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