sudo: required language: python addons: apt: packages: - unzip # Java8 Required for Sonar and SQLCL - oracle-java8-installer - oracle-java8-set-default sonarcloud: organization: utplsql token: secure: ${SONAR_TOKEN} branches: - develop - master services: - docker env: global: - UT3_OWNER=ut3 - UT3_OWNER_PASSWORD=ut3 - UT3_USER="UT3\$USER#" - UT3_USER_PASSWORD=ut3 - UT3_TABLESPACE=users # Environment for building a release - CURRENT_BRANCH=${TRAVIS_BRANCH} - UTPLSQL_REPO="utPLSQL/utPLSQL" - UTPLSQL_BUILD_NO="${TRAVIS_BUILD_NUMBER:-0}" - UTPLSQL_VERSION_PLACEHOLDER='utPLSQL - Version' - UTPLSQL_VERSION=$(. .travis/get_project_version.sh) - UTPLSQL_BUILD_VERSION=$(. .travis/get_project_build_version.sh) - UTPLSQL_SOURCES_DIR='source' - UTPLSQL_BUILD_USER_NAME="Travis CI" - CACHE_DIR=$HOME/.cache # Database Env - SQLCLI="$HOME/sqlcl/bin/sql" - ORACLE_PWD="oracle" #utPLSQL released version directory - UTPLSQL_DIR="utPLSQL" matrix: - ORACLE_VERSION="11g-xe-r2" CONNECTION_STR='127.0.0.1:1521/XE' DOCKER_OPTIONS='--shm-size=1g' - ORACLE_VERSION="12c-se2-r1-v2" CONNECTION_STR='127.0.0.1:1521/ORCLPDB1' DOCKER_OPTIONS="-v /dev/pdbs:/opt/oracle/oradata/pdbs" - ORACLE_VERSION="12c-se-r2-v4" CONNECTION_STR='127.0.0.1:1521/ORCLPDB1' DOCKER_OPTIONS="-v /dev/pdbs:/opt/oracle/oradata/pdbs" cache: pip: true directories: - $CACHE_DIR - node_modules before_install: # download latest utPLSQL release - curl -LOk $(curl --silent https://api.github.com/repos/utPLSQL/utPLSQL/releases/latest | awk '/browser_download_url/ { print $2 }' | grep ".zip" | sed 's/"//g') install: - unzip utPLSQL.zip - pip install mkdocs - bash .travis/install_sqlcl.sh - sudo mkdir -p /dev/pdbs - sudo chmod -R 777 /dev/pdbs - if [ "${TRAVIS_TAG}" = "" ]; then bash .travis/start_db.sh; fi - df -h before_script: #The update_project_version is done before deployment to validate that the change of project files does not break installation - bash .travis/update_project_version.sh - git config --global user.email "builds@travis-ci.com" - git config --global user.name "${UTPLSQL_BUILD_USER_NAME}" - git remote rm origin - git remote add origin https://${github_api_token}@github.com/${UTPLSQL_REPO} script: - if [ "${TRAVIS_TAG}" = "" ]; then bash .travis/install.sh; fi - if [ "${TRAVIS_TAG}" = "" ]; then bash .travis/install_utplsql_release.sh; fi - if [ "${TRAVIS_TAG}" = "" ]; then bash .travis/run_examples_and_tests.sh; fi - if [ "${TRAVIS_TAG}" = "" ] && [ "${TRAVIS_REPO_SLUG}" = "${UTPLSQL_REPO}" ]; then sonar-scanner; fi - if [ "${TRAVIS_TAG}" = "" ]; then bash .travis/coveralls_uploader.sh; fi - bash .travis/build_docs.sh - if [ "${TRAVIS_TAG}" = "" ]; then bash .travis/push_release_version.sh; fi - bash .travis/push_docs_to_gh_pages.sh before_deploy: - bash .travis/build_release_archive.sh deploy: provider: releases api_key: $github_api_token file: - utPLSQL.zip - utPLSQL.tar.gz - utPLSQL.zip.md5 - utPLSQL.tar.gz.md5 skip_cleanup: true on: repo: ${UTPLSQL_REPO} tags: true # when building from a release tag, use only first job "#xxx.1" to publish artifacts condition: "${TRAVIS_JOB_NUMBER} =~ \\.1$" notifications: slack: utplsql:oiMuXO95TvKeAUENuDt4cPrB