mirror of
https://github.com/storybookjs/storybook.git
synced 2025-03-31 05:03:21 +08:00
299 lines
8.0 KiB
YAML
299 lines
8.0 KiB
YAML
defaults: &defaults
|
|
working_directory: /tmp/storybook
|
|
docker:
|
|
- image: circleci/node:8
|
|
|
|
version: 2
|
|
dependencies:
|
|
pre:
|
|
- yarn global add npm
|
|
jobs:
|
|
build:
|
|
<<: *defaults
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
name: "Restore core dependencies cache"
|
|
keys:
|
|
- core-dependencies-{{ checksum "yarn.lock" }}
|
|
- run:
|
|
name: "Install dependencies"
|
|
command: |
|
|
yarn install
|
|
- run:
|
|
name: "Dirty check"
|
|
command: |
|
|
yarn repo-dirty-check
|
|
- run:
|
|
name: "Bootstrap"
|
|
command: |
|
|
yarn bootstrap --core
|
|
- save_cache:
|
|
name: "Cache core dependencies"
|
|
key: core-dependencies-{{ checksum "yarn.lock" }}
|
|
paths:
|
|
- node_modules
|
|
- examples/angular-cli/node_modules
|
|
- examples/cra-kitchen-sink/node_modules
|
|
- examples/official-storybook/node_modules
|
|
- examples/polymer-cli/node_modules
|
|
- examples/vue-kitchen-sink/node_modules
|
|
- save_cache:
|
|
name: "Cache core dist"
|
|
key: core-dist-{{ .Revision }}
|
|
paths:
|
|
- addons
|
|
- app
|
|
- lib
|
|
example-kitchen-sinks:
|
|
<<: *defaults
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
name: "Restore core dependencies cache"
|
|
keys:
|
|
- core-dependencies-{{ checksum "yarn.lock" }}
|
|
- restore_cache:
|
|
name: "Restore core dist cache"
|
|
keys:
|
|
- core-dist-{{ .Revision }}
|
|
- run:
|
|
name: "Build react kitchen-sink"
|
|
command: |
|
|
cd examples/cra-kitchen-sink
|
|
yarn build-storybook
|
|
- run:
|
|
name: "Build vue kitchen-sink"
|
|
command: |
|
|
cd examples/vue-kitchen-sink
|
|
yarn build-storybook
|
|
- run:
|
|
name: "Build angular-cli"
|
|
command: |
|
|
cd examples/angular-cli
|
|
yarn build-storybook
|
|
- run:
|
|
name: "Build polymer-cli"
|
|
command: |
|
|
cd examples/polymer-cli
|
|
yarn build-storybook
|
|
- run:
|
|
name: "Build official-storybook"
|
|
command: |
|
|
cd examples/official-storybook
|
|
yarn build-storybook
|
|
- run:
|
|
name: "Visually test storybook"
|
|
command: |
|
|
yarn chromatic
|
|
- run:
|
|
name: "Run image snapshots"
|
|
command: yarn test --image
|
|
- store_artifacts:
|
|
path: examples/official-storybook/image-snapshots/__image_snapshots__
|
|
destination: official_storybook_image_snapshots
|
|
smoke-tests:
|
|
<<: *defaults
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
name: "Restore core dependencies cache"
|
|
keys:
|
|
- core-dependencies-{{ checksum "yarn.lock" }}
|
|
- restore_cache:
|
|
name: "Restore core dist cache"
|
|
keys:
|
|
- core-dist-{{ .Revision }}
|
|
|
|
- run:
|
|
name: "Run react kitchen-sink (smoke test)"
|
|
command: |
|
|
cd examples/cra-kitchen-sink
|
|
yarn storybook --smoke-test
|
|
- run:
|
|
name: "Run vue kitchen-sink (smoke test)"
|
|
command: |
|
|
cd examples/vue-kitchen-sink
|
|
yarn storybook --smoke-test
|
|
- run:
|
|
name: "Run angular-cli (smoke test)"
|
|
command: |
|
|
cd examples/angular-cli
|
|
yarn storybook --smoke-test
|
|
- run:
|
|
name: "Run polymer-cli (smoke test)"
|
|
command: |
|
|
cd examples/polymer-cli
|
|
yarn storybook --smoke-test
|
|
- run:
|
|
name: "Run official-storybook (smoke test)"
|
|
command: |
|
|
cd examples/official-storybook
|
|
yarn storybook --smoke-test
|
|
react-native:
|
|
<<: *defaults
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
name: "Restore core dependencies cache"
|
|
keys:
|
|
- core-dependencies-{{ checksum "yarn.lock" }}
|
|
- restore_cache:
|
|
name: "Restore core dist cache"
|
|
keys:
|
|
- core-dist-{{ .Revision }}
|
|
- run:
|
|
name: "Bootstrap"
|
|
command: |
|
|
yarn bootstrap --reactnative --reactnativeapp
|
|
- run:
|
|
name: "Run React-Native example"
|
|
command: |
|
|
cd examples/react-native-vanilla
|
|
yarn storybook --smoke-test
|
|
- run:
|
|
name: "Run React-Native-App example"
|
|
command: |
|
|
cd examples/crna-kitchen-sink
|
|
yarn storybook --smoke-test
|
|
- run:
|
|
name: "Run React-Native unit tests"
|
|
command: |
|
|
yarn test --coverage --runInBand --reactnative
|
|
yarn coverage
|
|
docs:
|
|
<<: *defaults
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
name: "Restore dependencies cache"
|
|
keys:
|
|
- docs-dependencies-{{ checksum "docs/yarn.lock" }}
|
|
- run:
|
|
name: "Install dependencies"
|
|
command: |
|
|
cd docs
|
|
yarn install --frozen-lockfile
|
|
- run:
|
|
name: "Build docs"
|
|
command: |
|
|
cd docs
|
|
yarn build
|
|
- save_cache:
|
|
name: "Cache dependencies"
|
|
key: docs-dependencies-{{ checksum "docs/yarn.lock" }}
|
|
paths:
|
|
- docs/node_modules
|
|
lint:
|
|
<<: *defaults
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
name: "Restore core dependencies cache"
|
|
keys:
|
|
- core-dependencies-{{ checksum "yarn.lock" }}
|
|
- restore_cache:
|
|
name: "Restore docs dependencies cache"
|
|
keys:
|
|
- docs-dependencies-{{ checksum "docs/yarn.lock" }}
|
|
- restore_cache:
|
|
name: "Restore core dist cache"
|
|
keys:
|
|
- core-dist-{{ .Revision }}
|
|
- run:
|
|
name: "Lint"
|
|
command: |
|
|
yarn lint
|
|
unit-test:
|
|
<<: *defaults
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
name: "Restore core dependencies cache"
|
|
keys:
|
|
- core-dependencies-{{ checksum "yarn.lock" }}
|
|
- restore_cache:
|
|
name: "Restore core dist cache"
|
|
keys:
|
|
- core-dist-{{ .Revision }}
|
|
- run:
|
|
name: "Run unit tests"
|
|
command: |
|
|
yarn test --coverage --runInBand --core
|
|
yarn coverage
|
|
cli:
|
|
working_directory: /tmp/storybook
|
|
docker:
|
|
- image: andthensome/docker-node-rsync
|
|
environment:
|
|
BASH_ENV: ~/.bashrc
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
name: "Restore core dependencies cache"
|
|
keys:
|
|
- core-dependencies-{{ checksum "yarn.lock" }}
|
|
- restore_cache:
|
|
name: "Restore core dist cache"
|
|
keys:
|
|
- core-dist-{{ .Revision }}
|
|
- run:
|
|
name: "Test CLI"
|
|
command: |
|
|
yarn test --cli
|
|
cli-latest-cra:
|
|
working_directory: /tmp/storybook
|
|
docker:
|
|
- image: andthensome/docker-node-rsync
|
|
environment:
|
|
BASH_ENV: ~/.bashrc
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
name: "Restore core dependencies cache"
|
|
keys:
|
|
- core-dependencies-{{ checksum "yarn.lock" }}
|
|
- restore_cache:
|
|
name: "Restore core dist cache"
|
|
keys:
|
|
- core-dist-{{ .Revision }}
|
|
- run:
|
|
name: "Test CLI with latest CR(N)A"
|
|
command: |
|
|
yarn test-latest-cra
|
|
deploy:
|
|
<<: *defaults
|
|
steps:
|
|
- run:
|
|
name: "Deploy"
|
|
command: |
|
|
echo "TODO"
|
|
workflows:
|
|
version: 2
|
|
build_accept_deploy:
|
|
jobs:
|
|
- build
|
|
- example-kitchen-sinks:
|
|
requires:
|
|
- build
|
|
- smoke-tests:
|
|
requires:
|
|
- build
|
|
- react-native:
|
|
requires:
|
|
- build
|
|
- docs
|
|
- lint:
|
|
requires:
|
|
- docs
|
|
- build
|
|
- unit-test:
|
|
requires:
|
|
- build
|
|
- cli:
|
|
requires:
|
|
- build
|
|
- cli-latest-cra:
|
|
requires:
|
|
- build
|