Add integration tests

This commit is contained in:
n0vad3v 2023-05-31 17:25:11 +08:00 committed by Benny
parent cd06d4ca0a
commit 97613832ef
3 changed files with 95 additions and 0 deletions

68
.github/workflows/integration-test.yaml vendored Normal file
View File

@ -0,0 +1,68 @@
name: Integration Tests
on:
pull_request:
branches:
- master
paths-ignore:
- '**.md'
- 'Makefile'
- 'config.json'
jobs:
glib_malloc:
name: Glib malloc RAM usage test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Build image
uses: docker/build-push-action@v3
with:
context: .
platforms: linux/amd64
push: false
tags: ghcr.io/webp-sh/webp_server_go
- name: Start the container
run: |
cp tests/glib_malloc/docker-compose.yml ./
docker-compose up -d
- name: Send Requests to Server
run: |
cd pics
find * -type f -print | xargs -I {} curl -H "User-Agent: Mozilla/5.0 Gecko/20100101 Firefox/98.0" http://localhost:3333/{}
- name: Get container RAM stats
run: |
docker stats --no-stream
jemalloc:
name: jemalloc RAM usage test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Build image
uses: docker/build-push-action@v3
with:
context: .
platforms: linux/amd64
push: false
tags: ghcr.io/webp-sh/webp_server_go
- name: Start the container
run: |
cp tests/jemalloc/docker-compose.yml ./
docker-compose up -d
- name: Send Requests to Server
run: |
cd pics
find * -type f -print | xargs -I {} curl -H "User-Agent: Mozilla/5.0 Gecko/20100101 Firefox/98.0" http://localhost:3333/{}
- name: Get container RAM stats
run: |
docker stats --no-stream

View File

@ -0,0 +1,13 @@
version: '3'
services:
webp:
image: webpsh/webp-server-go
restart: always
environment:
- MALLOC_ARENA_MAX=1
volumes:
- ./pics:/opt/pics
- ./exhaust:/opt/exhaust
ports:
- 127.0.0.1:3333:3333

View File

@ -0,0 +1,14 @@
version: '3'
services:
webp:
image: webpsh/webp-server-go
restart: always
environment:
- MALLOC_ARENA_MAX=1
- LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2
volumes:
- ./pics:/opt/pics
- ./exhaust:/opt/exhaust
ports:
- 127.0.0.1:3333:3333