.travis.yml

Summary

Maintainability
Test Coverage
language: node_js
sudo: false
node_js:
  - '14.16.1'

# Since Travis is running on the Ubuntu 16+
# this library is necessary
# see https://github.com/cypress-io/cypress/issues/4069#issuecomment-488816887
addons:
  apt:
    packages:
      - libgconf-2-4

cache: false

env:
  global:
    - CYPRESS_CACHE_FOLDER = "~/.cache/Cypress"

install:
  - yarn install --frozen-lockfile --non-interactive

script:
  # Run static analyzers
  - yarn lint
  - yarn eslint

  # Build packages and integration app
  - yarn build

  # Angular 6 ... Angular 8
  # should start before building Angular 9,
  # because Angular 9 CLI mutates parent packages
  - yarn integration:ng6
  - yarn integration:ng7
  - yarn integration:ng8

  - yarn build:integration
  - yarn build:integration:ssr

  # Run unit, E2E and SSR tests
  - yarn test:ci
  - yarn test:ci:integration
  - yarn test:ci:e2e
  - yarn test:ci:integration:ssr

  # Run integration test with Angular 9 Ivy On, Off
  - yarn integration:ng9:ivy
  - yarn integration:ng9:ivy:off

  # Run integration test with Angular 10 Ivy On,Off
  - yarn integration:ng10:ivy
  - yarn integration:ng10:ivy:off

  # Run integration test with Angular 11 Ivy On,Off
  - yarn integration:ng11:ivy
  - yarn integration:ng11:ivy:off

  # Run integration test with Angular 12 Ivy On
  - yarn integration:ng12:ivy

  # Run integration test with Angular 13 Ivy On
  - yarn integration:ng13:ivy

  # Run declaration files linter
  - yarn test:types

  # Check the size of NGXS bundle
  - yarn bundlesize