language: ruby
sudo: required
dist: xenial
rvm: 2.5.3
cache:
bundler: true
env:
global:
- COVERAGE=1
matrix:
- INTEGRATION_SPECS=0
- INTEGRATION_SPECS=1
stages:
- test
- ':ship: it to Quay.io'
jobs:
allow_failures:
- script: ./script/docker-build-and-push
include:
- stage: test
env:
script: ./script/validate-example-payloads-with-docker
- stage: ':ship: it to Quay.io'
env:
script: ./script/docker-build-and-push
if: NOT type IN (pull_request) AND branch = master
before_script:
- eval "$(script/handle-docker-config)"
- bundle exec rake clean assets:precompile
script:
- bundle exec rspec spec
- bundle exec rake shfmt
- bundle exec rake assert_clean
- bundle exec rake shellcheck
- bundle exec rake assert_examples
after_success: bundle exec codeclimate-test-reporter
after_failure: bundle exec rake dump_examples_logs
before_deploy:
- sudo pip install -U -I Pygments
- ./script/build-s3-index-html
deploy:
provider: s3
access_key_id:
secure: fXt5NG5UGDvpnRFvUUk9J//iSo+Vh28oEUJvjZqiUZ9GRHp5TrIS5vL4bPlD/1RrJRp7BVVj1+4ThXZRzrMhF5xazK8k4ANaUhMdjmRa6arXtqBcXIyUvu//5e80nlXekqMKaW7f5wrLNiKZB+ck7ayGlI1NYLNQ5nCWC6Xxe6s=
secret_access_key:
secure: Jn9clQh78C2c1zoueTkn0r5kSCHrbb7bMojb8/Ne+6zg0pD/3w25mrhEC4y9b3M/lHoKArOPj4dn03ZErJleM8aOMNMIa6ck8GKP+7EoFlZ/1/C5733HazlldTWDd2+wTOYfSIGOM+mHDP5tmK0S7pr1zEm+/++UExuGZXiCSSI=
bucket: travis-build-examples
local_dir: examples
skip_cleanup: true
region: us-east-1
on:
branch: master
condition: $INTEGRATION_SPECS == 1
repo: travis-ci/travis-build
OpenSRP/opensrp-client-core:.travis.yml@589cf98
language: minimal
os: linux
dist: xenial
group: edge
sudo: required
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/
env:
global:
# for updates check developer.android.com/studio#downloads (current 26.1.1)
- ANDROID_SDK_TOOLS=sdk-tools-linux-4333796.zip
addons:
apt_packages:
- pandoc
before_install:
# set JAVA_HOME path
- export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
# download and unzip Android SDK command line tools
- wget -nv https://dl.google.com/android/repository/$ANDROID_SDK_TOOLS
- unzip -q $ANDROID_SDK_TOOLS -d $HOME/sdk
# set SDK tools path variable and ANDROID_HOME
- export PATH=$PATH:$HOME/sdk/tools/bin
- export ANDROID_HOME=$HOME/sdk
# create empty cfg file to prevent sdkmanager warning message
- mkdir -p $HOME/.android && touch $HOME/.android/repositories.cfg
install:
# accept licenses for all available packages that have not already been accepted
- yes | sdkmanager "platforms;android-27"
- yes | sdkmanager --licenses >/dev/null
- yes | sdkmanager "platforms;android-27"
before_script:
- echo "Travis branch is $TRAVIS_BRANCH"
- echo "Travis branch is in pull request $TRAVIS_PULL+REQUEST"
- ls -la
- java -version
- sudo apt-get install openjdk-8-jdk
- java -version
# set executable flag for gradle wrapper
- chmod +x gradlew
script:
- ./gradlew opensrp-app:clean opensrp-app:jacocoTestReport --stacktrace
after_success:
- ./gradlew opensrp-app:coveralls --stacktrace
after_failure:
- pandoc opensrp-app/build/reports/tests/index.html -t plain
notifications:
slack:
secure: fAiZ4yA7DM6nUKh7nqsCTqZBb03VEAvi5NcRu5mNh5coNn/50XNeZl+qpv7Dw70Ef85Y/k68uc6KwTGVqPXEmVq9Hk3e7lqpBNN8rufvgCYDDGPmywBmU5BhSeykKo0Ee7llM3mRR/EipjIWw1+YvMcS3hCoygf/UlMDDhG0Jo0=
before_deploy:
- echo "sonatypeUsername=$SONATYPE_USER" > ~/.gradle/gradle.properties
- echo "sonatypePassword=$SONATYPE_PASS" >> ~/.gradle/gradle.properties
deploy:
provider: script
script: ./gradlew :opensrp-app:uploadArchives -PmavenLocal=false
on:
tags: true
Build Config
{
"os": [
"linux"
],
"env": {
"global": [
"COVERAGE=1"
],
"matrix": [
"INTEGRATION_SPECS=0",
"INTEGRATION_SPECS=1"
]
},
"rvm": [
"2.5.3"
],
"dist": "xenial",
"sudo": true,
"cache": {
"bundler": true
},
"deploy": [
{
"on": {
"repo": "travis-ci/travis-build",
"branch": [
"master"
],
"condition": "$INTEGRATION_SPECS == 1"
},
"bucket": "travis-build-examples",
"region": "us-east-1",
"provider": "s3",
"local_dir": "examples",
"skip_cleanup": true,
"access_key_id": {
"secure": "fXt5NG5UGDvpnRFvUUk9J//iSo+Vh28oEUJvjZqiUZ9GRHp5TrIS5vL4bPlD/1RrJRp7BVVj1+4ThXZRzrMhF5xazK8k4ANaUhMdjmRa6arXtqBcXIyUvu//5e80nlXekqMKaW7f5wrLNiKZB+ck7ayGlI1NYLNQ5nCWC6Xxe6s="
},
"secret_access_key": {
"secure": "Jn9clQh78C2c1zoueTkn0r5kSCHrbb7bMojb8/Ne+6zg0pD/3w25mrhEC4y9b3M/lHoKArOPj4dn03ZErJleM8aOMNMIa6ck8GKP+7EoFlZ/1/C5733HazlldTWDd2+wTOYfSIGOM+mHDP5tmK0S7pr1zEm+/++UExuGZXiCSSI="
}
}
],
"matrix": {
"include": [
{
"stage": "test",
"script": [
"./script/validate-example-payloads-with-docker"
]
},
{
"if": "NOT type IN (pull_request) AND branch = master",
"stage": ":ship: it to Quay.io",
"script": [
"./script/docker-build-and-push"
]
}
],
"allow_failures": [
{
"script": [
"./script/docker-build-and-push"
]
}
]
},
"script": [
"bundle exec rspec spec",
"bundle exec rake shfmt",
"bundle exec rake assert_clean",
"bundle exec rake shellcheck",
"bundle exec rake assert_examples"
],
"stages": [
{
"name": "test"
},
{
"name": ":ship: it to Quay.io"
}
],
"language": "ruby",
"after_failure": [
"bundle exec rake dump_examples_logs"
],
"after_success": [
"bundle exec codeclimate-test-reporter"
],
"before_deploy": [
"sudo pip install -U -I Pygments",
"./script/build-s3-index-html"
],
"before_script": [
"eval \"$(script/handle-docker-config)\"",
"bundle exec rake clean assets:precompile"
]
}