blob: 40d85f877b46a519590a5ad63eb7d31b0faa8f5a [file] [log] [blame]
#
# 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"