57 lines
1.5 KiB
YAML
57 lines
1.5 KiB
YAML
# 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:0.0.2
|
|
|
|
# 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:
|
|
<<: *job_defaults
|
|
steps:
|
|
- checkout:
|
|
<<: *post_checkout
|
|
- restore_cache:
|
|
key: angular-{{ .Branch }}-{{ checksum "yarn.lock" }}
|
|
|
|
- run: yarn install --freeze-lockfile --non-interactive
|
|
- run: ./node_modules/.bin/gulp lint
|
|
|
|
build:
|
|
<<: *job_defaults
|
|
steps:
|
|
- checkout:
|
|
<<: *post_checkout
|
|
- restore_cache:
|
|
key: angular-{{ .Branch }}-{{ checksum "yarn.lock" }}
|
|
|
|
- run: bazel run @yarn//:yarn
|
|
- run: bazel build packages/...
|
|
- run: bazel test @angular//...
|
|
- save_cache:
|
|
key: angular-{{ .Branch }}-{{ checksum "yarn.lock" }}
|
|
paths:
|
|
- "node_modules"
|
|
|
|
workflows:
|
|
version: 2
|
|
default_workflow:
|
|
jobs:
|
|
- lint
|
|
- build
|