blob: 25d3d687671e56e736e28138af4b377f23dc975c [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.
#
os: linux
dist: focal
language: java
jdk: openjdk11
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: "qSkFNkMDYhp025vW+hBWO4wlMEeaz2S2c3tsZgIhcqji58AAxL2KKuNIWAuzftIxC5l5RwPt/OBXWFjgnAwCjj3hfczMfpuexGPruzmRe2GYbBwS0OhwDkWVosl9UqFELbZEdQ/tTJyW7p3Gd4FSjCJBCAdRL5yYcn3RiCj/UrJ6454IkKqeuTihWp2ZklqnZpMv9WzC4DK+cI/rJUP5megh/gilORfBD5/wnMMksC5NSlpc2WAtdeKusVZiZ6ieR6uLoR3rwzgUBC3PbyX8GO1OIh+LnvO7c0Hrhc2u685nxrCMseJIH9kZQboGA7RbiH64U5Zy7dK6fiFGfQJc3YyfsbKBKyd0QlvZp1vKw4iAvtsyentodjR1lN29fuTUW3hPMCo/YJSxZmHHMRSsoqs4zMp7lHo0aDfBOJRB+jjluA96Tn8SZjIATu76SwzJ0EolyVGw25HqKxSX0eM0ZLgrVrh89CwSlEYop07lQzaa1QTFu9DizONS8jlQYpXoAdgfeBXPDCyHVUzYjljzKyZG2Ph86eEo1mdHOlDyPI0hHuspBObP/mxSKXldxgBDRJ2jvF75t9DcxZdDzis5HBZeEktyIFaLS7spHlQLqGNEnpxNc+FxpT52Uw/sYJ6e1OG2Qx3Jhz4NNo4wJWUkdS1saaFCxIlyh7pqjpnsWqU="
# 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:
- sudo systemctl stop epmd.socket epmd.service
- ./tools/travis/docker.sh
- sudo apt-get install -y python3-pip
- pip install --user --upgrade pip setuptools six
- pip3 install --user --upgrade pip setuptools six
install:
- ./tools/travis/setup.sh
jobs:
include:
- script:
- TERM=dumb OW_SCALA_VERSION=2.13 ./gradlew :tests:compileTestScala
name: "Scala 2.13 compilation"
- 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"
- script:
- ./tools/travis/runSchedulerTests.sh
- ./tools/travis/checkAndUploadLogs.sh scheduler
name: "Scheduler Tests"