Files
versitygw/tests/host-style-tests/docker-compose.yml
niksis02 b9b75b58f6 feat: automates the host-style tests in the pipeline
Adds a GitHub Actions workflow to run the `host-style` tests inside Docker containers. The tests are executed in a Docker environment using `Docker Compose` with three containers: one for running the tests, one for setting up the server, and one using the `dnsmasq` image for `DNS` server configuration.
2025-05-23 02:22:45 +04:00

63 lines
1.5 KiB
YAML

services:
dnsmasq:
image: strm/dnsmasq
container_name: dns-resolver
restart: on-failure
volumes:
- './dnsmasq.conf:/etc/dnsmasq.conf'
ports:
- "53/udp"
cap_add:
- NET_ADMIN
healthcheck:
test: 'if [ -z "$(netstat -nltu |grep \:53)" ]; then exit 1;else exit 0;fi'
interval: 2s
timeout: 2s
retries: 20
networks:
devnet:
ipv4_address: 172.20.0.53
server:
build:
context: ../..
dockerfile: tests/host-style-tests/Dockerfile
depends_on:
dnsmasq:
condition: service_healthy
command: ["-a", "user", "-s", "pass", "--virtual-domain", "dev:7070", "--health", "/health", "--iam-dir", "/tmp/vgw", "posix", "/tmp/vgw"]
dns:
- 172.20.0.53
healthcheck:
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:7070/health"]
interval: 2s
timeout: 2s
retries: 20
networks:
devnet:
ipv4_address: 172.20.0.10
ports:
- "7070:7070" # Optional: if you want to reach it from host
test:
build:
context: ../..
dockerfile: tests/host-style-tests/Dockerfile
depends_on:
server:
condition: service_healthy
dnsmasq:
condition: service_healthy
command: ["test", "-a", "user", "-s", "pass", "--host-style", "-e", "http://dev:7070", "full-flow"]
dns:
- 172.20.0.53
networks:
devnet:
networks:
devnet:
driver: bridge
ipam:
config:
- subnet: 172.20.0.0/16