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@v3 - uses: actions/setup-node@v3 with: node-version: 14 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: run rate limit test run: | cd src/tests/ratelimit ./testlimits.sh