1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
# 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
- ..:/swift-nio:z
working_dir: /swift-nio
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-} && cd Benchmarks && swift package benchmark baseline check --check-absolute-path Thresholds/$${SWIFT_VERSION-}/"
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"
update-benchmark-baseline:
<<: *common
command: /bin/bash -xcl "cd Benchmarks && swift package --disable-sandbox --scratch-path .build/$${SWIFT_VERSION-}/ --allow-writing-to-package-directory benchmark --format metricP90AbsoluteThresholds --path Thresholds/$${SWIFT_VERSION-}/"
cxx-interop-build:
<<: *common
command: /bin/bash -xcl "./scripts/cxx-interop-compatibility.sh"
# 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"
|