language: node_js node_js: - 8 cache: yarn # Define global C++ compiler version env: global: - CXX=g++-4.8 before_install: # Yarn defaults to an old version, make sure we # get an up to date version - npm install -g yarn@1.13.0 - '[ "${NPM_TOKEN+x}" ] && echo "//registry.npmjs.org/:_authToken=\${NPM_TOKEN}" > $HOME/.npmrc || echo "Skipping .npmrc creation";' before_script: - cp config/ci.config.json config/project.json # Misc Addons/Configs dist: trusty sudo: required addons: apt: sources: - google-chrome - ubuntu-toolchain-r-test packages: - google-chrome-stable - g++-4.8 matrix: fast_finish: true jobs: allow_failures: - script: yarn test:saucelabs - script: yarn test:saucelabs --database-firestore-only # TODO(yifanyang): Once we verify the emulator tests are reliable, we # should make these tests blocking rather than allow failures. - script: yarn test:database:emulator include: - name: Node.js and Browser (Chrome) Test stage: test script: xvfb-run yarn test after_success: yarn test:coverage - name: Cross Browser Test for SDKs except Database and Firestore stage: test script: yarn test:saucelabs if: type = push - name: Cross Browser Test for Database and Firestore SDK stage: test script: yarn test:saucelabs --database-firestore-only if: type = push - name: Database Node.js and Browser (Chrome) Test with Emulator stage: test script: yarn test:database:emulator - stage: deploy script: skip # NPM Canary Build Config deploy: skip_cleanup: true provider: script script: yarn release --canary if: type = push AND repo = firebase/firebase-js-sdk AND branch = master