sudo: required addons: apt: packages: - pcregrep services: - docker language: node_js node_js: - '6' before_script: - export BRANCH=$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then echo $TRAVIS_BRANCH; else echo $TRAVIS_PULL_REQUEST_BRANCH; fi) - echo "Project branch $BRANCH" - git clone -b develop https://github.com/ONLYOFFICE/web-apps.git ../web-apps - cd ../web-apps && git checkout -B $BRANCH && cd - jobs: include: - stage: Check all files contains Copyright script: - FILES_WITHOUT_LICENSE=$(grep -L -R --include='*.js' --exclude-dir={\*vendor,externs\*} --exclude='jquery_native.js' 'Copyright Ascensio System') || true - echo $FILES_WITHOUT_LICENSE - if [[ $(echo -n $SPELLCHECK_OUT | wc -c) -ne 0 ]]; then exit 1 ; fi - stage: Check all files use Linux Line Ending (LF) script: - FILES_WITHOUT_LF=$(find . -not -type d -exec file '{}' ';' | grep CRLF) || true - echo $FILES_WITHOUT_LF - if [[ $(echo -n $FILES_WITHOUT_LF | wc -c) -ne 0 ]]; then exit 1 ; fi - stage: Check all files has trailing newline script: - FILES_WITHOUT_TRAILING_NEWLINE=$(pcregrep --buffer-size=64M --include='.*\.js$' -LMr '\n\Z' .) || true - echo $FILES_WITHOUT_TRAILING_NEWLINE - if [[ $(echo -n $FILES_WITHOUT_TRAILING_NEWLINE | wc -c) -ne 0 ]]; then exit 1 ; fi - stage: SonarQube Scanner if: branch = develop script: - wget -P /tmp https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.0.0.1744-linux.zip - unzip -d /tmp /tmp/sonar-scanner-cli-4.0.0.1744-linux.zip - /tmp/sonar-scanner-4.0.0.1744-linux/bin/sonar-scanner -Dsonar.login=$SONAR_TOKEN - stage: Formulas tests script: - npm install -g node-qunit-phantomjs - node-qunit-phantomjs cell/.unit-tests/FormulaTests.html - stage: Building SDK and test it by `onlyofficetestingrobot/doc-builder-testing` script: - npm install -g grunt-cli - npm install --prefix build - grunt --level=WHITESPACE_ONLY --base build --gruntfile build/Gruntfile.js - docker pull onlyofficetestingrobot/doc-builder-testing:develop-latest - travis_wait 30 docker run -v $PWD/common:/opt/onlyoffice/documentbuilder/sdkjs/common -v $PWD/word:/opt/onlyoffice/documentbuilder/sdkjs/word -v $PWD/cell:/opt/onlyoffice/documentbuilder/sdkjs/cell -v $PWD/slide:/opt/onlyoffice/documentbuilder/sdkjs/slide onlyofficetestingrobot/doc-builder-testing:develop-latest allow_failures: - stage: SonarQube Scanner notifications: email: recipients: - shockwavenn@gmail.com on_success: never on_failure: always env: global: secure: iqrqqfJLJkd9KRzYxP/Zt6KQqcMhnLavYhuYmkWdZS2+HLda4x40eI9v+ub0InetPnu2avfQl3K04FGhCEhDar+olmK1rZdSuEAwSWyAP8B8acCOPobgbwnHtlKyqLYuqUXf91M9kTdz0iBcKzpE1GaI8Nq+xzAc4xqnbT0yBrRfP0J9wF4dZ3PT+6wsK1qAIV/+1ZVtQQr39v+JUkcI5JHbuhewV3rIUUnw2AQ+56HUf9HMYONdaMuSP7kqgjL8MncQ2b29s6BTb2tOmun+AKmLlaZaFGSrpjOqKLsxMHUnsCR3uaRGD9xRC2SU5Qtf2chWgaX/eZipFtN9G68lxeoO3jPYkAKjeuS3JBqaZlaCooBKjuyrjdLRr+jZ9Aj3hWptiZzZJEDviAKUqJyZpM/7PSxew8dB+te277IIFhr63ElWcDsS7lAUtUBClYTfTQLZ3BrFHTsI3KEkUcBxs8b4DzSTU3bzluFePlP+XIalNz8PHmZfgW3NECnND9pZyiFETDWEvGSOEiYQ/5CMQbzXrpWMhEtb1Ze6ya23JqDHp6jcsRVp7AoJI0IRWpdexjo+Vy/iizUH670nbAam151zaGPhUtaetuCMX1gBhBqngnR5zVaggqKrXfDR2AmrLVMzuPLEBmKtKKRE7fUhYnGo6d3wUUapTN2G0ariKp0=