diff --git a/docker-compose.tst.yml b/docker-compose.tst.yml index 3f57d8b2f..98cf0d297 100644 --- a/docker-compose.tst.yml +++ b/docker-compose.tst.yml @@ -17,25 +17,9 @@ services: condition: service_healthy testPg-e2e-testing: condition: service_healthy - mssql-e2e-testing: - condition: service_healthy - test-oracle-e2e-testing: - condition: service_healthy - test-ibm-db2-e2e-testing: - condition: service_healthy - test-mongo-e2e-testing: - condition: service_healthy - test-dynamodb-e2e-testing: - condition: service_healthy - test-redis-e2e-testing: - condition: service_healthy - test-cassandra-e2e-testing: - condition: service_healthy - test-clickhouse-e2e-testing: - condition: service_healthy - test-elasticsearch-e2e-testing: - condition: service_healthy - command: ["/bin/sh", "-c", "pnpm test-all-parallel $EXTRA_ARGS"] + # $EXTRA_ARGS is a single ava glob (quoted so the extglob reaches ava + # intact instead of being expanded by the container's dash shell). + command: ["/bin/sh", "-c", "pnpm test-all-parallel \"$EXTRA_ARGS\""] develop: watch: - action: rebuild @@ -73,23 +57,6 @@ services: retries: 10 start_period: 10s - test-mongo-e2e-testing: - image: mongo - restart: always - environment: - MONGO_INITDB_ROOT_USERNAME: root - MONGO_INITDB_ROOT_PASSWORD: example - ports: - - 27017:27017 - tmpfs: - - /data/db - healthcheck: - test: [ "CMD", "mongosh", "--eval", "db.adminCommand('ping')" ] - interval: 10s - timeout: 5s - retries: 10 - start_period: 30s - postgres: image: postgres ports: @@ -106,44 +73,6 @@ services: retries: 10 start_period: 10s - mssql-e2e-testing: - image: mcr.microsoft.com/mssql/server:2019-latest - environment: - - SA_PASSWORD=yNuXf@6T#BgoQ%U6knMp - - ACCEPT_EULA=Y - ports: - - "5434:1433" - tmpfs: - - /var/opt/mssql - healthcheck: - test: - [ - "CMD-SHELL", - "/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P - 'yNuXf@6T#BgoQ%U6knMp' -C -Q 'SELECT 1' || - /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P - 'yNuXf@6T#BgoQ%U6knMp' -Q 'SELECT 1'", - ] - interval: 10s - timeout: 5s - retries: 20 - start_period: 60s - - test-oracle-e2e-testing: - image: gvenzl/oracle-xe - ports: - - 1521:1521 - environment: - ORACLE_PASSWORD: 12345 - tmpfs: - - /opt/oracle/oradata - healthcheck: - test: [ "CMD-SHELL", "healthcheck.sh" ] - interval: 10s - timeout: 5s - retries: 30 - start_period: 120s - autoadmin-ws-server: build: context: autoadmin-ws-server @@ -157,138 +86,3 @@ services: - backend depends_on: - backend - test-cassandra-e2e-testing: - image: cassandra:5.0.4 - environment: - - CASSANDRA_CLUSTER_NAME=TestCluster - - CASSANDRA_DC=TestDC - - CASSANDRA_RACK=TestRack - - MAX_HEAP_SIZE=768M - - HEAP_NEWSIZE=128M - mem_limit: 3g - restart: always - healthcheck: - test: - [ - "CMD", - "cqlsh", - "-u", - "cassandra", - "-p", - "cassandra", - "-e", - "describe keyspaces", - ] - interval: 30s - timeout: 10s - retries: 5 - start_period: 60s - - test-redis-e2e-testing: - image: redis:7.0.11 - command: [ "redis-server", "--requirepass", "SuperSecretRedisPassword" ] - tmpfs: - - /data - healthcheck: - test: [ "CMD", "redis-cli", "ping" ] - interval: 30s - timeout: 10s - retries: 3 - - test-ibm-db2-e2e-testing: - image: icr.io/db2_community/db2 - restart: always - privileged: true - environment: - - LICENSE=accept - - DB2INSTANCE=db2inst1 - - DB2INST1_PASSWORD=password - - DBNAME=testdb - - BLU=false - - ENABLE_ORACLE_COMPATIBILITY=false - - UPDATEAVAIL=NO - - TO_CREATE_SAMPLEDB=true - - REPODB=false - - IS_OSXFS=false - - PERSISTENT_HOME=true - - HADR_ENABLED=false - - ETCD_ENDPOINT= - - ETCD_USERNAME= - - ETCD_PASSWORD= - ports: - - 50000:50000 - healthcheck: - test: [ "CMD-SHELL", "su - db2inst1 -c 'db2 connect to testdb'" ] - interval: 30s - timeout: 30s - retries: 20 - start_period: 180s - - test-dynamodb-e2e-testing: - image: amazon/dynamodb-local - environment: - - AWS_ACCESS_KEY_ID=SuperSecretAwsAccessKey - - AWS_SECRET=SuperSecretAwsSecret - healthcheck: - test: [ "CMD-SHELL", "curl -s http://localhost:8000 || exit 1" ] - interval: 10s - timeout: 5s - retries: 10 - start_period: 10s - - test-clickhouse-e2e-testing: - image: clickhouse/clickhouse-server:24.8 - restart: unless-stopped - ports: - - 8123:8123 - - 9000:9000 - environment: - - CLICKHOUSE_DB=testdb - - CLICKHOUSE_USER=default - - CLICKHOUSE_PASSWORD=clickhouse_password - - CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 - tmpfs: - - /var/lib/clickhouse - ulimits: - nofile: - soft: 262144 - hard: 262144 - healthcheck: - test: - [ - "CMD", - "clickhouse-client", - "--user=default", - "--password=clickhouse_password", - "--query=SELECT 1", - ] - interval: 10s - timeout: 5s - retries: 20 - start_period: 60s - - test-elasticsearch-e2e-testing: - image: docker.elastic.co/elasticsearch/elasticsearch:8.15.0 - environment: - - discovery.type=single-node - - xpack.security.enabled=true - - ELASTIC_PASSWORD=SuperSecretElasticPassword - - ES_JAVA_OPTS=-Xms512m -Xmx512m - ports: - - 9200:9200 - tmpfs: - - /usr/share/elasticsearch/data - ulimits: - memlock: - soft: -1 - hard: -1 - healthcheck: - test: - [ - "CMD-SHELL", - "curl -s -u elastic:SuperSecretElasticPassword http://localhost:9200/_cluster/health | grep -E '\"status\":\"(green|yellow)\"'", - ] - interval: 10s - timeout: 5s - retries: 20 - start_period: 60s diff --git a/justfile b/justfile index 03b0817cf..93cd40763 100644 --- a/justfile +++ b/justfile @@ -1,2 +1,7 @@ -test args='test/ava-tests/non-saas-tests/*': +# CI default runs only the Postgres + MySQL (and DB-agnostic) suites — the +# other database engines (Oracle, MSSQL, Mongo, IBM DB2, Cassandra, Redis, +# DynamoDB, ClickHouse, Elasticsearch) are excluded so their heavy containers +# aren't needed. Pass an explicit glob to run a different subset locally, e.g. +# just test 'test/ava-tests/non-saas-tests/*mongo*.test.ts' +test args='test/ava-tests/non-saas-tests/!(*oracle*|*ibmdb2*|*cassandra*|*elasticsearch*|*mssql*|*mongo*|*redis*|*dynamodb*|*clickhouse*).test.ts': EXTRA_ARGS="{{args}}" docker compose -f docker-compose.tst.yml up --abort-on-container-exit --force-recreate --build --attach=backend --no-log-prefix