| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| services: |
| rust-bdd: |
| image: iggy-bdd-rust |
| build: |
| context: .. |
| dockerfile: bdd/rust/Dockerfile |
| environment: |
| - IGGY_ROOT_USERNAME=iggy |
| - IGGY_ROOT_PASSWORD=iggy |
| - BDD_FEATURE=${BDD_FEATURE:-all} |
| - RUST_LOG=debug |
| - RUSTFLAGS=-C linker=gcc |
| volumes: |
| - ./scenarios/basic_messaging.feature:/app/features/basic_messaging.feature |
| - ./scenarios/leader_redirection.feature:/app/features/leader_redirection.feature |
| command: |
| - sh |
| - -c |
| - | |
| case "$$BDD_FEATURE" in |
| basic_messaging) cargo test -p bdd --features bdd --test basic_messaging ;; |
| leader_redirection) cargo test -p bdd --features bdd --test leader_redirection ;; |
| *) cargo test -p bdd --features bdd ;; |
| esac |
| networks: |
| - iggy-bdd-network |
| |
| python-bdd: |
| image: iggy-bdd-python |
| build: |
| context: .. |
| dockerfile: bdd/python/Dockerfile |
| environment: |
| - IGGY_ROOT_USERNAME=iggy |
| - IGGY_ROOT_PASSWORD=iggy |
| volumes: |
| - ./scenarios/basic_messaging.feature:/app/features/basic_messaging.feature |
| working_dir: /app |
| command: [ "uv", "run", "--project", "/workspace/bdd/python", "pytest", "tests/", "-v" ] |
| networks: |
| - iggy-bdd-network |
| |
| php-bdd: |
| build: |
| context: .. |
| dockerfile: bdd/php/Dockerfile |
| depends_on: |
| iggy-server: |
| condition: service_healthy |
| environment: |
| - IGGY_HOST=iggy-server |
| - IGGY_PORT=8090 |
| - IGGY_USERNAME=iggy |
| - IGGY_PASSWORD=iggy |
| - BDD_FEATURE_FILE=/app/features/basic_messaging.feature |
| volumes: |
| - ./scenarios/basic_messaging.feature:/app/features/basic_messaging.feature |
| command: [ "./scripts/test.sh", "--configuration", "/workspace/bdd/php/phpunit.xml.dist" ] |
| networks: |
| - iggy-bdd-network |
| |
| go-bdd: |
| image: iggy-bdd-go |
| build: |
| context: .. |
| dockerfile: bdd/go/Dockerfile |
| environment: |
| - IGGY_ROOT_USERNAME=iggy |
| - IGGY_ROOT_PASSWORD=iggy |
| - BDD_FEATURE=${BDD_FEATURE:-all} |
| - GO_TEST_EXTRA_FLAGS=${GO_TEST_EXTRA_FLAGS:-} |
| command: [ "sh", "-c", "go test -v ${GO_TEST_EXTRA_FLAGS:-} ./..." ] |
| networks: |
| - iggy-bdd-network |
| |
| node-bdd: |
| image: iggy-bdd-node |
| build: |
| context: .. |
| dockerfile: bdd/node/Dockerfile |
| environment: |
| - IGGY_ROOT_USERNAME=iggy |
| - IGGY_ROOT_PASSWORD=iggy |
| command: [ "npm", "run", "test:bdd" ] |
| networks: |
| - iggy-bdd-network |
| |
| csharp-bdd: |
| image: iggy-bdd-csharp |
| build: |
| context: .. |
| dockerfile: bdd/csharp/Dockerfile |
| environment: |
| - IGGY_ROOT_USERNAME=iggy |
| - IGGY_ROOT_PASSWORD=iggy |
| - BDD_FEATURE=${BDD_FEATURE:-all} |
| command: |
| - sh |
| - -c |
| - | |
| FILTER="" |
| case "$$BDD_FEATURE" in |
| basic_messaging) FILTER='--filter-trait Category=basic-messaging' ;; |
| leader_redirection) FILTER='--filter-trait Category=requires-leader-awareness' ;; |
| esac |
| dotnet test $$FILTER |
| networks: |
| - iggy-bdd-network |
| |
| java-bdd: |
| image: iggy-bdd-java |
| build: |
| context: .. |
| dockerfile: bdd/java/Dockerfile |
| environment: |
| - IGGY_ROOT_USERNAME=iggy |
| - IGGY_ROOT_PASSWORD=iggy |
| volumes: |
| - ./scenarios/basic_messaging.feature:/app/features/basic_messaging.feature |
| command: [ "gradle", "--no-daemon", "test" ] |
| networks: |
| - iggy-bdd-network |
| |
| cpp-bdd: |
| image: iggy-bdd-cpp |
| build: |
| context: .. |
| dockerfile: bdd/cpp/Dockerfile |
| environment: |
| - IGGY_ROOT_USERNAME=iggy |
| - IGGY_ROOT_PASSWORD=iggy |
| volumes: |
| - ./scenarios/basic_messaging.feature:/app/features/basic_messaging.feature |
| networks: |
| - iggy-bdd-network |
| |
| networks: |
| iggy-bdd-network: |
| driver: bridge |