mirror of
https://github.com/storybookjs/storybook.git
synced 2025-03-21 05:02:39 +08:00
482 lines
15 KiB
YAML
482 lines
15 KiB
YAML
version: 2.1
|
|
|
|
executors:
|
|
sb_node:
|
|
parameters:
|
|
class:
|
|
description: The Resource class
|
|
type: enum
|
|
enum: ["small", "medium", "large", "xlarge"]
|
|
default: "medium"
|
|
working_directory: /tmp/storybook
|
|
docker:
|
|
- image: circleci/node:10-browsers
|
|
environment:
|
|
NODE_OPTIONS: --max_old_space_size=4096
|
|
resource_class: <<parameters.class>>
|
|
|
|
jobs:
|
|
build:
|
|
executor:
|
|
class: large
|
|
name: sb_node
|
|
steps:
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- 35:aa:b9:c3:b8:1c:27:1f:02:0a:73:1a:ac:58:77:df
|
|
- run:
|
|
name: Clone GitHub repository
|
|
command: echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config && git clone -b ${CIRCLE_BRANCH} --single-branch --depth=1 git@github.com:storybookjs/storybook.git /tmp/storybook
|
|
- run:
|
|
name: Remove examples
|
|
command: rm -rf examples/
|
|
- restore_cache:
|
|
name: Restore Yarn cache
|
|
keys:
|
|
- build-yarn-cache-v1--{{ checksum "yarn.lock" }}
|
|
- build-yarn-cache-v1--
|
|
- run:
|
|
name: Install dependencies
|
|
command: yarn install --frozen-lockfile --cache-folder ~/.cache/yarn
|
|
- run:
|
|
name: Bootstrap
|
|
command: yarn bootstrap --core
|
|
- save_cache:
|
|
name: Save Yarn cache
|
|
key: build-yarn-cache-v1--{{ checksum "yarn.lock" }}
|
|
paths:
|
|
- ~/.cache/yarn
|
|
- persist_to_workspace:
|
|
root: .
|
|
paths:
|
|
- addons
|
|
- dev-kits
|
|
- app
|
|
- lib
|
|
install-examples-deps:
|
|
executor:
|
|
class: large
|
|
name: sb_node
|
|
steps:
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- 35:aa:b9:c3:b8:1c:27:1f:02:0a:73:1a:ac:58:77:df
|
|
- run:
|
|
name: Clone GitHub repository
|
|
command: echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config && git clone -b ${CIRCLE_BRANCH} --single-branch --depth=1 git@github.com:storybookjs/storybook.git /tmp/storybook
|
|
- restore_cache:
|
|
name: Restore Yarn cache
|
|
keys:
|
|
- install-examples-deps-yarn-cache-v1--{{ checksum "yarn.lock" }}
|
|
- install-examples-deps-yarn-cache-v1--
|
|
- run:
|
|
name: Install dependencies
|
|
command: yarn install --frozen-lockfile --cache-folder ~/.cache/yarn
|
|
- save_cache:
|
|
name: Save Yarn cache
|
|
key: install-examples-deps-yarn-cache-v1--{{ checksum "yarn.lock" }}
|
|
paths:
|
|
- ~/.cache/yarn
|
|
- persist_to_workspace:
|
|
root: .
|
|
paths:
|
|
- examples
|
|
- node_modules
|
|
install-e2e-deps:
|
|
executor:
|
|
class: large
|
|
name: sb_node
|
|
steps:
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- 35:aa:b9:c3:b8:1c:27:1f:02:0a:73:1a:ac:58:77:df
|
|
- run:
|
|
name: Clone GitHub repository
|
|
command: echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config && git clone -b ${CIRCLE_BRANCH} --single-branch --depth=1 git@github.com:storybookjs/storybook.git /tmp/storybook
|
|
- run:
|
|
name: Keep only root package
|
|
command: rm -rf examples/ && rm -rf addons/ && rm -rf app/ && rm -rf lib/
|
|
- restore_cache:
|
|
name: Restore Yarn cache
|
|
keys:
|
|
- install-e2e-deps-yarn-cache-v1--{{ checksum "yarn.lock" }}
|
|
- install-e2e-deps-yarn-cache-v1--
|
|
- run:
|
|
name: Install dependencies
|
|
command: yarn install --frozen-lockfile --cache-folder ~/.cache/yarn
|
|
- save_cache:
|
|
name: Save Yarn cache
|
|
key: install-e2e-deps-yarn-cache-v1--{{ checksum "yarn.lock" }}
|
|
paths:
|
|
- ~/.cache/yarn
|
|
- persist_to_workspace:
|
|
root: .
|
|
paths:
|
|
- examples
|
|
- node_modules
|
|
chromatic:
|
|
executor: sb_node
|
|
parallelism: 11
|
|
steps:
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- 35:aa:b9:c3:b8:1c:27:1f:02:0a:73:1a:ac:58:77:df
|
|
- run:
|
|
name: Clone GitHub repository
|
|
command: echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config && git clone -b ${CIRCLE_BRANCH} --single-branch --depth=1 git@github.com:storybookjs/storybook.git /tmp/storybook
|
|
- attach_workspace:
|
|
at: .
|
|
- run:
|
|
name: examples
|
|
command: |
|
|
yarn run-chromatics
|
|
packtracker:
|
|
executor:
|
|
class: medium
|
|
name: sb_node
|
|
steps:
|
|
- checkout
|
|
- attach_workspace:
|
|
at: .
|
|
- run:
|
|
name: Report webpack stats for manager of official storybook
|
|
command: |
|
|
cd examples/official-storybook
|
|
yarn packtracker
|
|
examples:
|
|
executor:
|
|
class: large
|
|
name: sb_node
|
|
parallelism: 11
|
|
steps:
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- 35:aa:b9:c3:b8:1c:27:1f:02:0a:73:1a:ac:58:77:df
|
|
- run:
|
|
name: Clone GitHub repository
|
|
command: echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config && git clone -b ${CIRCLE_BRANCH} --single-branch --depth=1 git@github.com:storybookjs/storybook.git /tmp/storybook
|
|
- attach_workspace:
|
|
at: .
|
|
- run:
|
|
name: examples
|
|
command: |
|
|
yarn build-storybooks
|
|
- persist_to_workspace:
|
|
root: .
|
|
paths:
|
|
- built-storybooks
|
|
publish:
|
|
executor:
|
|
class: large
|
|
name: sb_node
|
|
steps:
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- 35:aa:b9:c3:b8:1c:27:1f:02:0a:73:1a:ac:58:77:df
|
|
- run:
|
|
name: Clone GitHub repository
|
|
command: echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config && git clone -b ${CIRCLE_BRANCH} --single-branch --depth=1 git@github.com:storybookjs/storybook.git /tmp/storybook
|
|
- attach_workspace:
|
|
at: .
|
|
- run:
|
|
name: running local registry
|
|
command: yarn local-registry --publish
|
|
- persist_to_workspace:
|
|
root: .
|
|
paths:
|
|
- .verdaccio-cache
|
|
examples-v2:
|
|
executor:
|
|
class: large
|
|
name: sb_node
|
|
docker:
|
|
- image: cypress/included:4.7.0
|
|
environment:
|
|
TERM: xterm
|
|
working_directory: /tmp/storybook
|
|
parallelism: 10
|
|
steps:
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- 35:aa:b9:c3:b8:1c:27:1f:02:0a:73:1a:ac:58:77:df
|
|
- run:
|
|
name: Clone GitHub repository
|
|
command: echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config && git clone -b ${CIRCLE_BRANCH} --single-branch --depth=1 git@github.com:storybookjs/storybook.git /tmp/storybook
|
|
- attach_workspace:
|
|
at: .
|
|
- run:
|
|
name: running local registry
|
|
command: yarn local-registry --port 6000 --open
|
|
background: true
|
|
- run:
|
|
name: wait for registry
|
|
command: yarn wait-on http://localhost:6000
|
|
- run:
|
|
name: set registry
|
|
command: yarn config set registry http://localhost:6000/
|
|
- run:
|
|
name: test local registry
|
|
command: yarn info @storybook/core
|
|
- run:
|
|
name: run e2e tests
|
|
command: yarn test:e2e-framework
|
|
- store_artifacts:
|
|
path: /tmp/storybook/cypress
|
|
destination: cypress
|
|
examples-v2-yarn-2:
|
|
docker:
|
|
- image: cypress/included:4.7.0
|
|
environment:
|
|
TERM: xterm
|
|
working_directory: /tmp/storybook
|
|
# parallelism: 10
|
|
steps:
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- 35:aa:b9:c3:b8:1c:27:1f:02:0a:73:1a:ac:58:77:df
|
|
- run:
|
|
name: Clone GitHub repository
|
|
command: echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config && git clone -b ${CIRCLE_BRANCH} --single-branch --depth=1 git@github.com:storybookjs/storybook.git /tmp/storybook
|
|
- attach_workspace:
|
|
at: .
|
|
- run:
|
|
name: running local registry
|
|
command: yarn local-registry --port 6000 --open
|
|
background: true
|
|
- run:
|
|
name: wait for registry
|
|
command: yarn wait-on http://localhost:6000
|
|
- run:
|
|
name: set registry
|
|
command: yarn config set registry http://localhost:6000/
|
|
- run:
|
|
name: test local registry
|
|
command: yarn info @storybook/core
|
|
- run:
|
|
name: run e2e tests
|
|
command: yarn test:e2e-framework --use-yarn-2 sfcVue cra
|
|
- store_artifacts:
|
|
path: /tmp/storybook/cypress
|
|
destination: cypress
|
|
e2e:
|
|
working_directory: /tmp/storybook
|
|
docker:
|
|
- image: cypress/included:4.7.0
|
|
environment:
|
|
TERM: xterm
|
|
steps:
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- 35:aa:b9:c3:b8:1c:27:1f:02:0a:73:1a:ac:58:77:df
|
|
- run:
|
|
name: Clone GitHub repository
|
|
command: echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config && git clone -b ${CIRCLE_BRANCH} --single-branch --depth=1 git@github.com:storybookjs/storybook.git /tmp/storybook
|
|
- attach_workspace:
|
|
at: .
|
|
- run:
|
|
name: running example
|
|
command: yarn serve-storybooks
|
|
background: true
|
|
- run:
|
|
name: await running examples
|
|
command: yarn await-serve-storybooks
|
|
- run:
|
|
name: cypress run
|
|
command: yarn test:e2e
|
|
- store_artifacts:
|
|
path: /tmp/storybook/cypress
|
|
destination: cypress
|
|
|
|
smoke-tests:
|
|
executor:
|
|
class: medium
|
|
name: sb_node
|
|
steps:
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- 35:aa:b9:c3:b8:1c:27:1f:02:0a:73:1a:ac:58:77:df
|
|
- run:
|
|
name: Clone GitHub repository
|
|
command: echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config && git clone -b ${CIRCLE_BRANCH} --single-branch --depth=1 git@github.com:storybookjs/storybook.git /tmp/storybook
|
|
- attach_workspace:
|
|
at: .
|
|
- run:
|
|
name: Run react kitchen-sink (smoke test)
|
|
command: |
|
|
cd examples/cra-kitchen-sink
|
|
yarn storybook --smoke-test --quiet
|
|
- run:
|
|
name: Run react typescript kitchen-sink (smoke test)
|
|
command: |
|
|
cd examples/cra-ts-kitchen-sink
|
|
yarn storybook --smoke-test --quiet
|
|
- run:
|
|
name: Run vue kitchen-sink (smoke test)
|
|
command: |
|
|
cd examples/vue-kitchen-sink
|
|
yarn storybook --smoke-test --quiet
|
|
- run:
|
|
name: Run svelte kitchen-sink (smoke test)
|
|
command: |
|
|
cd examples/svelte-kitchen-sink
|
|
yarn storybook --smoke-test --quiet
|
|
- run:
|
|
name: Run angular-cli (smoke test)
|
|
command: |
|
|
cd examples/angular-cli
|
|
yarn storybook --smoke-test --quiet
|
|
- run:
|
|
name: Run ember-cli (smoke test)
|
|
command: |
|
|
cd examples/ember-cli
|
|
yarn storybook --smoke-test --quiet
|
|
- run:
|
|
name: Run marko-cli (smoke test)
|
|
command: |
|
|
cd examples/marko-cli
|
|
yarn storybook --smoke-test --quiet
|
|
- run:
|
|
name: Run official-storybook (smoke test)
|
|
command: |
|
|
cd examples/official-storybook
|
|
yarn storybook --smoke-test --quiet
|
|
- run:
|
|
name: Run mithril kitchen-sink (smoke test)
|
|
command: |
|
|
cd examples/mithril-kitchen-sink
|
|
yarn storybook --smoke-test --quiet
|
|
- run:
|
|
name: Run riot kitchen-sink (smoke test)
|
|
command: |
|
|
cd examples/riot-kitchen-sink
|
|
yarn storybook --smoke-test --quiet
|
|
- run:
|
|
name: Run preact kitchen-sink (smoke test)
|
|
command: |
|
|
cd examples/preact-kitchen-sink
|
|
yarn storybook --smoke-test --quiet
|
|
- run:
|
|
name: Run cra reac15 (smoke test)
|
|
command: |
|
|
cd examples/cra-react15
|
|
yarn storybook --smoke-test --quiet
|
|
frontpage:
|
|
executor: sb_node
|
|
steps:
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- 35:aa:b9:c3:b8:1c:27:1f:02:0a:73:1a:ac:58:77:df
|
|
- run:
|
|
name: Clone GitHub repository
|
|
command: echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config && git clone -b ${CIRCLE_BRANCH} --single-branch --depth=1 git@github.com:storybookjs/storybook.git /tmp/storybook
|
|
- restore_cache:
|
|
name: Restore core dependencies cache
|
|
keys:
|
|
- core-dependencies-v5-{{ checksum "yarn.lock" }}
|
|
- run:
|
|
name: Install dependencies
|
|
command: yarn bootstrap --install
|
|
- run:
|
|
name: Trigger build
|
|
command: ./scripts/build-frontpage.js
|
|
lint:
|
|
executor:
|
|
class: small
|
|
name: sb_node
|
|
steps:
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- 35:aa:b9:c3:b8:1c:27:1f:02:0a:73:1a:ac:58:77:df
|
|
- run:
|
|
name: Clone GitHub repository
|
|
command: echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config && git clone -b ${CIRCLE_BRANCH} --single-branch --depth=1 git@github.com:storybookjs/storybook.git /tmp/storybook
|
|
- attach_workspace:
|
|
at: .
|
|
- run:
|
|
name: Lint
|
|
command: yarn lint
|
|
test:
|
|
executor: sb_node
|
|
steps:
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- 35:aa:b9:c3:b8:1c:27:1f:02:0a:73:1a:ac:58:77:df
|
|
- run:
|
|
name: Clone GitHub repository
|
|
command: echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config && git clone -b ${CIRCLE_BRANCH} --single-branch --depth=1 git@github.com:storybookjs/storybook.git /tmp/storybook
|
|
- attach_workspace:
|
|
at: .
|
|
- run:
|
|
name: Test
|
|
command: yarn test --coverage --w2 --core
|
|
- persist_to_workspace:
|
|
root: .
|
|
paths:
|
|
- coverage
|
|
coverage:
|
|
executor:
|
|
class: small
|
|
name: sb_node
|
|
steps:
|
|
- add_ssh_keys:
|
|
fingerprints:
|
|
- 35:aa:b9:c3:b8:1c:27:1f:02:0a:73:1a:ac:58:77:df
|
|
- run:
|
|
name: Clone GitHub repository
|
|
command: echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config && git clone -b ${CIRCLE_BRANCH} --single-branch --depth=1 git@github.com:storybookjs/storybook.git /tmp/storybook
|
|
- attach_workspace:
|
|
at: .
|
|
- run:
|
|
name: Upload coverage
|
|
command: yarn coverage
|
|
|
|
|
|
workflows:
|
|
test:
|
|
jobs:
|
|
- build
|
|
- install-e2e-deps
|
|
- install-examples-deps
|
|
- lint:
|
|
requires:
|
|
- install-examples-deps
|
|
- build
|
|
- examples:
|
|
requires:
|
|
- install-examples-deps
|
|
- build
|
|
- e2e:
|
|
requires:
|
|
- examples
|
|
- smoke-tests:
|
|
requires:
|
|
- install-examples-deps
|
|
- build
|
|
- packtracker:
|
|
requires:
|
|
- install-examples-deps
|
|
- build
|
|
- test:
|
|
requires:
|
|
- install-examples-deps
|
|
- build
|
|
- coverage:
|
|
requires:
|
|
- test
|
|
- chromatic:
|
|
requires:
|
|
- examples
|
|
- publish:
|
|
requires:
|
|
- install-e2e-deps
|
|
- build
|
|
- examples-v2:
|
|
requires:
|
|
- publish
|
|
- examples-v2-yarn-2:
|
|
requires:
|
|
- publish
|
|
deploy:
|
|
jobs:
|
|
- frontpage
|