# this file is not designed to be run directly # instead, use the docker-compose.. 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} $${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} $${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"