donmahallem/TrapezeClientNg

View on GitHub
.travis.yml

Summary

Maintainability
Test Coverage
language: node_js
addons:
  chrome: stable
env:
  matrix:
  - TEST_SUITE=lint
  - TEST_SUITE=build
  - TEST_SUITE=unit
  - TEST_SUITE=docs
node_js:
- stable
cache:
  directories:
  - node_modules
before_script:
- npm run postinstall
- cp ./src/environments/environment.example.ts ./src/environments/environment.prod.ts
- cp ./src/environments/environment.example.ts ./src/environments/environment.ts
- cp ./src/environments/environment.example.ts ./src/environments/environment.dev.ts
script:
- npm run test:$TEST_SUITE
after_success:
- npm install coveralls && cat ./coverage/lcov.info | coveralls
jobs:
  include:
  - stage: npm release
    node_js: stable
    script: 
    - npm run build
    - cp ./src/environments/environment.example.ts ./src/environments/environment.prod.ts
    - cp ./src/environments/environment.example.ts ./src/environments/environment.ts
    - cp ./src/environments/environment.example.ts ./src/environments/environment.dev.ts
    - ng build --aot --prod --base-href=/
    if: tag IS present
    before_deploy:
    - npm run create-publish-package
    - cp -rf ./publish-package.json package.json
    deploy:
      provider: npm
      skip_cleanup: true
      email: $npm_email
      api_key: $npm_api_key
      on:
        tags: true
        repo: donmahallem/TrapezeClientNg
  - stage: npm release pwa
    node_js: stable
    script: 
    - npm run build
    - cp ./src/environments/environment.example.pwa.ts ./src/environments/environment.prod.ts
    - cp ./src/environments/environment.example.pwa.ts ./src/environments/environment.ts
    - cp ./src/environments/environment.example.pwa.ts ./src/environments/environment.dev.ts
    - ng build --aot --prod --base-href=/
    if: tag IS present
    before_deploy:
    - npm run create-publish-package pwa
    - cp -rf ./publish-package.json package.json
    deploy:
      provider: npm
      skip_cleanup: true
      email: $npm_email
      api_key: $npm_api_key
      on:
        tags: true
        repo: donmahallem/TrapezeClientNg
  - stage: Publish docs on github
    node_js: stable
    script:
    - npm run compodoc
    if: branch = master
    deploy:
      provider: pages
      skip-cleanup: true
      local-dir: docs
      github-token: $GITHUB_TOKEN  # Set in the settings page of your repository, as a secure variable
      keep-history: true
      on:
        branch: master