|
- # This configuration was automatically generated from a CircleCI 1.0 config.
- # It should include any build commands you had along with commands that CircleCI
- # inferred from your project structure. We strongly recommend you read all the
- # comments in this file to understand the structure of CircleCI 2.0, as the idiom
- # for configuration has changed substantially in 2.0 to allow arbitrary jobs rather
- # than the prescribed lifecycle of 1.0. In general, we recommend using this generated
- # configuration as a reference rather than using it in production, though in most
- # cases it should duplicate the execution of your original 1.0 config.
- version: 2
- jobs:
- build:
- working_directory: ~/material-motion/indefinite-observable-js
- parallelism: 1
- shell: /bin/bash --login
- # CircleCI 2.0 does not support environment variables that refer to each other the same way as 1.0 did.
- # If any of these refer to each other, rewrite them so that they don't or see https://circleci.com/docs/2.0/env-vars/#interpolating-environment-variables-to-set-other-environment-variables .
- environment:
- CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
- CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
- # In CircleCI 1.0 we used a pre-configured image with a large number of languages and other packages.
- # In CircleCI 2.0 you can now specify your own image, or use one of our pre-configured images.
- # The following configuration line tells CircleCI to use the specified docker image as the runtime environment for you job.
- # We have selected a pre-built image that mirrors the build environment we use on
- # the 1.0 platform, but we recommend you choose an image more tailored to the needs
- # of each job. For more information on choosing an image (or alternatively using a
- # VM instead of a container) see https://circleci.com/docs/2.0/executor-types/
- # To see the list of pre-built images that CircleCI provides for most common languages see
- # https://circleci.com/docs/2.0/circleci-images/
- docker:
- - image: circleci/node:10-stretch-browsers
- steps:
- # Machine Setup
- # If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
- # The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out.
- - checkout
- # Prepare for artifact and test results collection equivalent to how it was done on 1.0.
- # In many cases you can simplify this from what is generated here.
- # 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/'
- - run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS/tslint/ $CIRCLE_TEST_REPORTS/mocha/
- # Dependencies
- # This would typically go in either a build or a build-and-test job when using workflows
- # Restore the dependency cache
- - restore_cache:
- keys:
- # This branch if available
- - node10-{{ .Branch }}-
- # Default branch if not
- - node10-develop-
- # Any branch if there are none on the default branch - this should be unnecessary if you have your default branch configured correctly
- - node10-
-
- # set default yarn installation's install path
- - run: yarn config set prefix "$HOME/.yarn"
- - run: PATH=$( yarn global bin ):$PATH
-
- - run: yarn
-
- # Save dependency cache
- - save_cache:
- key: node10-{{ .Branch }}-{{ epoch }}
- paths:
- - ~/.cache/yarn
- - ./node_modules
-
- # yarn will lint separately as part of pretest, but we're running it manually to get the output piped into Circle
- - run:
- name: Run linter
- command: yarn run lint --out $CIRCLE_TEST_REPORTS/tslint/core.xml --formatters-dir ./node_modules/tslint-junit-formatter/formatters --format junit
- when: always
-
- # Test
- # This would typically be a build job when using workflows, possibly combined with build
- # This is based on your 1.0 configuration file or project settings
- - run:
- name: Run unit tests
- command: yarn run test --reporter mocha-junit-reporter --reporter-options mochaFile=$CIRCLE_TEST_REPORTS/mocha/test-results.xml
- when: always
-
- # Teardown
- # If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
- # Save test results
- - store_test_results:
- path: /tmp/circleci-test-results
- # Save artifacts
- - store_artifacts:
- path: /tmp/circleci-artifacts
- - store_artifacts:
- path: /tmp/circleci-test-results
-
- # From http://codereview.cc/harbormaster/step/edit/6/
- #
- # This was from CircleCI v1, but Internet comments lead me to believe it's
- # unofficially still supported in Circle v2.
- notify:
- webhooks:
- - url: http://codereview.cc/harbormaster/hook/circleci/
|