mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-15 01:12:56 +03:00
3e6013ddd2
This allows a developer, through Docker, to run the Python integration tests in pretty much exactly the same way as CI does. Allowing us to more readily diagnose issues locally. I'm hoping this is temporary and we won't need it for too long, but I have found it invaluable over the last few days so I would like to share it. PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5818 GitOrigin-RevId: 18876fbbcbe7c5492afdf54d96af45ab2c519b77
78 lines
2.3 KiB
YAML
78 lines
2.3 KiB
YAML
# These services are brought up in 'run.sh' (see that file)
|
|
|
|
version: "3.6"
|
|
|
|
services:
|
|
cabal-update:
|
|
image: hasura/graphql-engine-server-builder:${HASURA_GRAPHQL_ENGINE_SERVER_BUILDER_SHA}
|
|
command:
|
|
- cabal
|
|
- update
|
|
volumes:
|
|
- .:/src
|
|
- hge-dist:/src/dist-newstyle
|
|
- cabal-cache:/root/.cabal
|
|
working_dir: /src
|
|
|
|
hge-build:
|
|
image: hasura/graphql-engine-server-builder:${HASURA_GRAPHQL_ENGINE_SERVER_BUILDER_SHA}
|
|
command:
|
|
- cabal
|
|
- build
|
|
- graphql-engine:exe:graphql-engine
|
|
volumes:
|
|
- ../..:/src
|
|
- hge-dist:/src/dist-newstyle
|
|
- cabal-cache:/root/.cabal
|
|
working_dir: /src
|
|
depends_on:
|
|
cabal-update:
|
|
condition: service_completed_successfully
|
|
|
|
tests-py-on-postgres:
|
|
image: hasura/graphql-engine-server-pytest-runner:${HASURA_GRAPHQL_ENGINE_SERVER_PYTEST_RUNNER_SHA}
|
|
command:
|
|
- ./oss-.circleci/test-server.sh
|
|
environment:
|
|
- CIRCLE_NODE_INDEX=1
|
|
- CIRCLE_NODE_TOTAL=1
|
|
- GRAPHQL_ENGINE=/src/dist-newstyle/build/x86_64-linux/ghc-8.10.7/graphql-engine-1.0.0/x/graphql-engine/noopt/build/graphql-engine/graphql-engine
|
|
- HASURA_GRAPHQL_DATABASE_URL=postgresql://postgres:hasura@tests-py-postgres-1/postgres
|
|
- HASURA_GRAPHQL_DATABASE_URL_2=postgresql://postgres:hasura@tests-py-postgres-2/postgres
|
|
- HASURA_GRAPHQL_PG_SOURCE_URL_1=postgresql://postgres:hasura@tests-py-postgres-1/postgres
|
|
- HASURA_GRAPHQL_PG_SOURCE_URL_2=postgresql://postgres:hasura@tests-py-postgres-2/postgres
|
|
- OUTPUT_FOLDER=/output
|
|
- SERVER_TEST_TO_RUN
|
|
volumes:
|
|
- ../..:/src
|
|
- hge-dist:/src/dist-newstyle
|
|
working_dir: /src
|
|
depends_on:
|
|
hge-build:
|
|
condition: service_completed_successfully
|
|
postgres:
|
|
condition: service_healthy
|
|
|
|
postgres:
|
|
image: cimg/postgres:14.4-postgis@sha256:492a389895568e2f89a03c0c45c19350888611001123514623551a014e83a625
|
|
expose:
|
|
- 5432
|
|
environment:
|
|
POSTGRES_PASSWORD: "hasura"
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- psql -U postgres < /dev/null && sleep 5 && psql -U postgres < /dev/null
|
|
start_period: 5s
|
|
interval: 5s
|
|
timeout: 10s
|
|
retries: 10
|
|
volumes:
|
|
- /var/lib/postgresql/data
|
|
deploy:
|
|
replicas: 2
|
|
|
|
volumes:
|
|
cabal-cache:
|
|
hge-dist:
|