angular-docs-cn/.circleci/config.yml

66 lines
2.1 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:
## IMPORTANT
# If you change this, also change the version of com_github_bazelbuild_buildtools
# in the /WORKSPACE file and the cache keys below
- image: angular/ngcontainer:0.0.8
## IMPORTANT
# 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
# Check BUILD.bazel formatting before we have a node_modules directory
# Then we don't need any exclude pattern to avoid checking those files
- run: 'buildifier -mode=check $(find . -type f \( -name BUILD.bazel -or -name BUILD \)) ||
(echo "BUILD files not formatted. Please run ''yarn buildifier''" ; exit 1)'
- restore_cache:
key: angular-{{ .Branch }}-{{ checksum "yarn.lock" }}-0.0.8
- run: yarn install --frozen-lockfile --non-interactive
- run: ./node_modules/.bin/gulp lint
build:
<<: *job_defaults
steps:
- checkout:
<<: *post_checkout
- restore_cache:
key: angular-{{ .Branch }}-{{ checksum "yarn.lock" }}-0.0.8
- run: bazel info release
- run: bazel run @yarn//:yarn
- run: bazel build --config=ci packages/...
- run: bazel test --config=ci packages/... @angular//...
- save_cache:
key: angular-{{ .Branch }}-{{ checksum "yarn.lock" }}-0.0.8
paths:
- "node_modules"
workflows:
version: 2
default_workflow:
jobs:
- lint
- build