Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/integration-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v3
- name: Start compose
run: docker-compose up --build --exit-code-from quest-load
run: docker-compose -f docker-compose-smoke-test.yaml up --build --exit-code-from quest-smoke
- name: Stop compose
if: always()
run: docker-compose down
run: docker-compose -f docker-compose-smoke-test.yaml down
23 changes: 23 additions & 0 deletions .github/workflows/load-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Load tests

on:
pull_request:
paths-ignore:
- 'docs/**'
- 'helm/**'
- 'assets/**'
- '**.md'

jobs:

docker-compose-test:
name: Docker Compose based load tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Start compose
run: docker-compose -f docker-compose-load-test.yaml up --build --exit-code-from quest-load
- name: Stop compose
if: always()
run: docker-compose -f docker-compose-load-test.yaml down
21 changes: 1 addition & 20 deletions docker-compose.yaml → docker-compose-load-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,34 +58,15 @@ services:
delay: 20s
max_attempts: 3

quest-smoke:
image: ghcr.io/parseablehq/quest:main
command: ["smoke", "http://parseable:8000", "parseableadmin", "parseableadmin"]
networks:
- parseable-internal
depends_on:
parseable:
condition: service_started
deploy:
restart_policy:
condition: on-failure
delay: 20s
max_attempts: 3

quest-load:
image: ghcr.io/parseablehq/quest:main
command: ["load", "http://parseable:8000", "parseableadmin", "parseableadmin", "20"]
networks:
- parseable-internal
depends_on:
parseable:
condition: service_started
quest-smoke:
condition: service_started
- parseable
deploy:
restart_policy:
condition: on-failure
delay: 20s
max_attempts: 3


72 changes: 72 additions & 0 deletions docker-compose-smoke-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
version: "3.7"

networks:
parseable-internal:

services:
minio:
image: minio/minio:RELEASE.2023-02-10T18-48-39Z
entrypoint:
- sh
- -euc
- |
mkdir -p /tmp/minio/parseable && \
minio server /tmp/minio
environment:
- MINIO_ROOT_USER=parseable
- MINIO_ROOT_PASSWORD=supersecret
- MINIO_UPDATE=off
ports:
- 9000
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
interval: 15s
timeout: 20s
retries: 5
networks:
- parseable-internal

parseable:
build:
context: .
dockerfile: Dockerfile
command: ["parseable", "s3-store"]
ports:
- 8000
environment:
- P_S3_URL=http://minio:9000
- P_S3_ACCESS_KEY=parseable
- P_S3_SECRET_KEY=supersecret
- P_S3_REGION=us-east-1
- P_S3_BUCKET=parseable
- P_STAGING_DIR=/tmp/data
- P_USERNAME=parseableadmin
- P_PASSWORD=parseableadmin
- P_CHECK_UPDATE=false
networks:
- parseable-internal
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:8000/api/v1/liveness" ]
interval: 15s
timeout: 20s
retries: 5
depends_on:
- minio
deploy:
restart_policy:
condition: on-failure
delay: 20s
max_attempts: 3

quest-smoke:
image: ghcr.io/parseablehq/quest:main
command: ["smoke", "http://parseable:8000", "parseableadmin", "parseableadmin"]
networks:
- parseable-internal
depends_on:
- parseable
deploy:
restart_policy:
condition: on-failure
delay: 20s
max_attempts: 3