swift-nio/docker/docker-compose.yaml

66 lines
1.5 KiB
YAML

# this file is not designed to be run directly
# instead, use the docker-compose.<os>.<swift> files
# eg docker-compose -f docker/docker-compose.yaml -f docker/docker-compose.1604.41.yaml run test
version: "3"
services:
runtime-setup:
image: swift-nio:default
build:
context: .
dockerfile: Dockerfile
common: &common
image: swift-nio:default
depends_on: [runtime-setup]
volumes:
- ~/.ssh:/root/.ssh
- ..:/code:z
working_dir: /code
cap_drop:
- CAP_NET_RAW
- CAP_NET_BIND_SERVICE
soundness:
<<: *common
command: /bin/bash -xcl "./scripts/soundness.sh"
unit-tests:
<<: *common
command: /bin/bash -xcl "swift test -Xswiftc -warnings-as-errors"
integration-tests:
<<: *common
command: /bin/bash -xcl "./scripts/integration_tests.sh $${INTEGRATION_TESTS_ARG-}"
test:
<<: *common
command: /bin/bash -xcl "swift test -Xswiftc -warnings-as-errors $${SANITIZER_ARG-} && ./scripts/integration_tests.sh $${INTEGRATION_TESTS_ARG-}"
performance-test:
<<: *common
command: /bin/bash -xcl "swift build -c release && ./.build/release/NIOPerformanceTester"
# util
shell:
<<: *common
entrypoint: /bin/bash
# samples
echo:
<<: *common
tty: true
ports:
- "9999:9999"
command: /bin/bash -xcl "swift run NIOEchoServer 0.0.0.0 9999"
http:
<<: *common
tty: true
ports:
- "8888:8888"
command: /bin/bash -xcl "swift run NIOHTTP1Server 0.0.0.0 8888"