dist: trusty language: java cache: directories: - $HOME/.m2/repository - frontend/src/bower_components - frontend/src/node_modules - integration/rocket-chat/node_modules before_cache: - rm -rf $HOME/.m2/repository/io/redlink/smarti/ services: - mongodb jdk: - openjdk8 before_install: - gem install sass - gem install compass install: - mvn -B clean install -Dquick script: - mvn -B -DargLine="-Xmx2g" test jobs: include: - stage: test - stage: documentation if: branch IN (master, documentation) AND type IN (push, api) script: true deploy: provider: pages skip_cleanup: true local_dir: docs/target/html/ github_token: ${GH_TOKEN} - stage: release if: tag =~ ^smarti- AND type = push before_script: - sudo apt-get -qq update - sudo apt-get install -y rpm pbzip2 script: - mvn -B -f dist/ install -Pdeb,rpm,docker - mvn -B -f integration/solr-docker/ install -Pdeb,rpm,docker before_deploy: - SMARTI_VERSION="$(mvn -B -q -N exec:exec -Dexec.executable=echo -Dexec.args='${project.version}')" - docker save redlinkgmbh/smarti:${SMARTI_VERSION} | pbzip2 > "dist/target/smarti-${SMARTI_VERSION}.docker.tbz2" - docker save redlinkgmbh/smarti-solr:${SMARTI_VERSION} | pbzip2 > "dist/target/smarti-solr-${SMARTI_VERSION}.docker.tbz2" deploy: provider: releases api_key: ${GH_TOKEN} file_glob: true file: - application/target/*-exec.jar - application/target/*-solrcores.zip - dist/target/*.deb - dist/target/rpm/smarti/RPMS/noarch/*.rpm - dist/target/*.docker.tbz2 skip_cleanup: true name: ${TRAVIS_TAG} tag_name: ${TRAVIS_TAG} target_commitish: ${TRAVIS_COMMIT} draft: true on: tags: true