diff --git a/.circleci/config.yml b/.circleci/config.yml index ca3a33ffdd..67d9fbe153 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,18 +1,31 @@ -defaults: &defaults +# Configuration file for https://circleci.com/gh/angular/angular + +# Note: YAML anchors allow an object to be re-used, reducing duplication. +# The ampersand declares an alias for an object, then later the `<<: *name` +# syntax dereferences it. +# See http://blog.daemonl.com/2016/02/yaml.html +# To validate changes, use an online parser, eg. +# http://yaml-online-parser.appspot.com/ + +# Settings common to each job +anchor_1: &job_defaults working_directory: ~/ng docker: - image: angular/ngcontainer +# After checkout, rebase on top of master. +# Similar to travis behavior, but not quite the same. +# See https://discuss.circleci.com/t/1662 +anchor_2: &post_checkout + post: git pull --ff-only origin "refs/pull/${CI_PULL_REQUEST//*pull\//}/merge" + version: 2 jobs: lint: - <<: *defaults + <<: *job_defaults steps: - checkout: - # After checkout, rebase on top of master. - # Similar to travis behavior, but not quite the same. - # See https://discuss.circleci.com/t/1662 - post: git pull --ff-only origin "refs/pull/${CI_PULL_REQUEST//*pull\//}/merge" + <<: *post_checkout - restore_cache: key: angular-{{ .Branch }}-{{ checksum "npm-shrinkwrap.json" }} @@ -21,9 +34,10 @@ jobs: - run: ./node_modules/.bin/gulp lint build: - <<: *defaults + <<: *job_defaults steps: - - checkout + - checkout: + <<: *post_checkout - restore_cache: key: angular-{{ .Branch }}-{{ checksum "npm-shrinkwrap.json" }}