| # |
| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| |
| sudo: required |
| |
| dist: xenial |
| jdk: openjdk8 |
| language: java |
| |
| services: |
| - docker |
| |
| env: |
| global: |
| - ANSIBLE_CMD="ansible-playbook -i environments/local -e docker_image_prefix=testing" |
| - GRADLE_PROJS_SKIP="" |
| |
| notifications: |
| email: false |
| slack: |
| rooms: |
| - secure: "Rrj5ya7JV7bfgW3GXZpuRsX2e9/qsTpLLVZAzgq2Z3xW/IVAqeAM8DDR0tjPbR7Nou0RpPtE/ynkps4Qd6CGTBiCULpcGi2cXJ+p35WvaweWlFIKU0Vam9iEWXQ+bG1LwB61LrSmD7DJvOxkZiwtagqUfYLhVeD1WfgcWc/lj0F0julCScujqqJbj/jUnlkSm6VJz9m11NQkvZZ+YFgNYCPAQRmSh59K0ELximJ54C4/af05YHq6QLWUh/2Eoa68p3XzQyONtteMRvbAJgmMGIijQsKa+ZELrZPjz/5EplMA+FEUjoW6tn3NQjQgZOdDHq3fEbnuit0OOBMRu5QhYT0MjV6QJANYmJU2QqVoDubgTtQSeHJNYoM1fI15yfuSCJg+H6FnI0ncXRB3zz7EZ3zksKKeWZ20NQVKBNCYRNIBC8Im3ff8TbZdulH/Qk/NEeOJwpgm8yfUqUqLu3dt13KT0JdxEcQeOX5lRmz+XBrN6C52/fX0NstO2OCxpKhKcq2+B/Y3mCn6ywqAiTtaLyhPrW08cCB3sBX8y5/Q3do8KPWO1MiBc/K+qtK481bnkh41DaLasqpltpEkFhCW/Udl8iuYEkMWZwNdhEUv6uuPiKF9da4FJkhIV3xVYOzrjF6xR2BtmHVGnCVMMoCUQo9tG8K9tOf+omH+KezZPuw=" |
| - secure: "WgdL9/Z/9+rl6edh+mqDiO0mx8JpxYwIrudYwuZUZ7d/9oUzS8Miid7au7Y1PP0CVPVDEvastw6+NnIVA/BIHTBNj488dTeNXumaaNQlaTTvaI9OLN1w3+GVVFuF64gmJ6I2T6x+qxqlYOwQhyZ8jZEJUXQ3VwE6DPz+KNqpBy+6GgWEvi+2lgGhc2Ko3SPAtcDWAdE6t8ELaO2uLh/JU60ndAi4yT297fOfwWi4I1aee5a+LajbJN6Mz89o5o0Y2GHV83a3D/ablt1CH3kRSErqLV3HDbt5eRR4yFhTPpbZG8yeWcZkP0oKyt3QqSen1paiEeqr7R9OspDf2OLSlWx7TGm/BnNW/3YRI3+gUPHqaJPCLldNRWnbYYd0RFGjVOfVOoYhAWAMdkWT48jX3YGE1LaZ0SwlxpMy5Fpj8Q22SVXY51o5Pw1UomUhGz2Hjfj8b0WbkWQ+q5qpgR8/z4Zfz5i3MY03mQNzeXs4Z9NoznIiz+9eQVpi4tkjUH3o2AFi6VXTdire61vfhFG3iYYqo2woKwNWOVaK/g0l13EVWiK62YxQEUZJbmhLb6VQrABrB2FCWl/+zZOOR3OUeie3AgAmxEwjxN9Y1IgMy0bJWEZ+ECf//39XMgj5Ys/gPsejDjPsWxhO6cuNtGq9K6RsPij1a0E+01JcyrNyNX0=" |
| on_pull_requests: false |
| on_success: change |
| on_failure: always |
| webhooks: |
| urls: |
| # travis2slack webhook to enable DMs on openwhisk-team.slack.com to PR authors with TravisCI results |
| secure: "tYJIDAKtHp+yLw53yB6+TQnNfyNwZDAZyG7QmHbNP5Mf1HR0GLhpe02AjV99NkjAgaGYxngUELMhNOyB8eiyMdxpemwny4oOeyOUQzVmiry/804JnjK2YvHyAGFVGuhV0LZVfCPsPh5x91yKcDPLSqRSTKhZOiJFmDpBy4qzxM4W7IXxAM+yHKrm8cznBRdR5rGxT5IjV58xMB1p69jJy1rxnjtEWmB2z7j/SiKa6IQlVYgr+BgaJxBhy9WYYczvceU+qyrTWpVYy5P3o5+b0MZ/UkyB5CZT9N5LzLGjLRDqNaNYCT3U8ow1H6w+zY7/9KrAf6szT6raN606vN7uv7TqGEugG949JQfRSQNe3Y7IvTAHatI9VAc3opWgy0jm7eBu9pzSECamGGSGGHl18m7oWZypiwB+ooKg7k545XQCoVwlRulBvwnVO8w2HOjkKSds/JnNhdXLtNKRaBaZxhBkk+5b43k59vaYsHDXaYFUob/nG/K3JoPRkcLtFe3JfNsCABJYC0VbRE3AizHr8CYMhBUrgElPFwPmIJwwLOORq6y3zIRxTOIz4b/x2q9Oa17vK0IwAjgHi8y9RXc6lG0mCyVFScdpxoGF3d9xF8Edwc8WN22pYaZ8r71UF4AWOVxJs1Cnp8gcAn14gONVVvkaVCUwNCCElbJkjdVhhnI=" |
| |
| # specific cache configuration for gradle based builds |
| # see: https://docs.travis-ci.com/user/languages/java/#caching |
| before_cache: |
| - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock |
| - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ |
| |
| cache: |
| directories: |
| - $HOME/.gradle/caches/ |
| - $HOME/.gradle/wrapper/ |
| |
| before_install: |
| - ./tools/travis/docker.sh |
| - sudo apt-get install -y python3-pip |
| - pip install --user --upgrade pip setuptools six |
| - pip3 install --user setuptools six |
| |
| install: |
| - ./tools/travis/setup.sh |
| |
| jobs: |
| include: |
| - script: |
| - ./tools/travis/runUnitTests.sh |
| - ./tools/travis/checkAndUploadLogs.sh unit db |
| name: "Unit Tests" |
| - script: |
| - ./tools/travis/runSystemTests.sh |
| - ./tools/travis/checkAndUploadLogs.sh system |
| name: "System Tests" |
| - script: |
| - ./tools/travis/runMultiRuntimeTests.sh |
| - ./tools/travis/checkAndUploadLogs.sh multi-runtime |
| name: "Multi-Runtime Tests" |
| - script: |
| - ./tools/travis/runStandaloneTests.sh |
| - ./tools/travis/checkAndUploadLogs.sh standalone |
| name: "Standalone Tests" |
| - script: |
| - ./tests/performance/preparation/deploy.sh |
| - TERM=dumb ./tests/performance/wrk_tests/latency.sh "https://172.17.0.1:10001" "$(cat ansible/files/auth.guest)" ./tests/performance/preparation/actions/noop.js 2m |
| - TERM=dumb ./tests/performance/wrk_tests/latency.sh "https://172.17.0.1:10001" "$(cat ansible/files/auth.guest)" ./tests/performance/preparation/actions/async.js 2m |
| - TERM=dumb ./tests/performance/wrk_tests/throughput.sh "https://172.17.0.1:10001" "$(cat ansible/files/auth.guest)" ./tests/performance/preparation/actions/noop.js 4 1 2 2m |
| - TERM=dumb ./tests/performance/wrk_tests/throughput.sh "https://172.17.0.1:10001" "$(cat ansible/files/auth.guest)" ./tests/performance/preparation/actions/async.js 4 1 2 2m |
| - TERM=dumb ./tests/performance/wrk_tests/throughput.sh "https://172.17.0.1:10001" "$(cat ansible/files/auth.guest)" ./tests/performance/preparation/actions/noop.js 100 110 2 2m |
| - TERM=dumb ./tests/performance/wrk_tests/throughput.sh "https://172.17.0.1:10001" "$(cat ansible/files/auth.guest)" ./tests/performance/preparation/actions/async.js 100 110 2 2m |
| - OPENWHISK_HOST="172.17.0.1" CONNECTIONS="100" REQUESTS_PER_SEC="1" ./gradlew gatlingRun-org.apache.openwhisk.ApiV1Simulation |
| - OPENWHISK_HOST="172.17.0.1" MEAN_RESPONSE_TIME="1000" API_KEY="$(cat ansible/files/auth.guest)" EXCLUDED_KINDS="python:default,java:default,swift:default" PAUSE_BETWEEN_INVOKES="100" ./gradlew gatlingRun-org.apache.openwhisk.LatencySimulation |
| - OPENWHISK_HOST="172.17.0.1" API_KEY="$(cat ansible/files/auth.guest)" CONNECTIONS="100" REQUESTS_PER_SEC="1" ./gradlew gatlingRun-org.apache.openwhisk.BlockingInvokeOneActionSimulation |
| - OPENWHISK_HOST="172.17.0.1" API_KEY="$(cat ansible/files/auth.guest)" CONNECTIONS="100" REQUESTS_PER_SEC="1" ASYNC="true" ./gradlew gatlingRun-org.apache.openwhisk.BlockingInvokeOneActionSimulation |
| # The following configuration does not make much sense. But we do not have enough users. But it's good to verify, that the test is still working. |
| - OPENWHISK_HOST="172.17.0.1" USERS="1" REQUESTS_PER_SEC="1" ./gradlew gatlingRun-org.apache.openwhisk.ColdBlockingInvokeSimulation |
| - ./tools/travis/checkAndUploadLogs.sh perf |
| name: "Performance Tests" |