70 lines
1.8 KiB
YAML
70 lines
1.8 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 "swift -version && uname -a && ./scripts/soundness.sh"
|
|
|
|
unit-tests:
|
|
<<: *common
|
|
command: /bin/bash -xcl "swift $${SWIFT_TEST_VERB-test} $${FORCE_TEST_DISCOVERY-} $${WARN_AS_ERROR_ARG-} $${IMPORT_CHECK_ARG-}"
|
|
|
|
integration-tests:
|
|
<<: *common
|
|
command: /bin/bash -xcl "./scripts/integration_tests.sh $${INTEGRATION_TESTS_ARG-}"
|
|
|
|
documentation-check:
|
|
<<: *common
|
|
command: /bin/bash -xcl "./scripts/check-docs.sh"
|
|
|
|
test:
|
|
<<: *common
|
|
command: /bin/bash -xcl "uname -a && swift -version && swift $${SWIFT_TEST_VERB-test} $${FORCE_TEST_DISCOVERY-} $${WARN_AS_ERROR_ARG-} $${SANITIZER_ARG-} $${IMPORT_CHECK_ARG-} && ./scripts/integration_tests.sh $${INTEGRATION_TESTS_ARG-}"
|
|
|
|
performance-test:
|
|
<<: *common
|
|
command: /bin/bash -xcl "swift build -c release -Xswiftc -Xllvm -Xswiftc -align-all-functions=5 -Xswiftc -Xllvm -Xswiftc -align-all-blocks=5 && ./.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"
|