mirror of
https://github.com/ONLYOFFICE/sdkjs.git
synced 2026-02-10 18:15:19 +08:00
65 lines
3.5 KiB
YAML
65 lines
3.5 KiB
YAML
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=
|