mirror of
https://github.com/SomboChea/ui
synced 2024-11-24 06:54:27 +07:00
ci(circleci): improve workflow and add linting
This commit is contained in:
parent
7853ec2acb
commit
3309e449d1
@ -1,31 +1,28 @@
|
|||||||
version: 2
|
version: 2
|
||||||
|
|
||||||
aliases:
|
aliases:
|
||||||
|
- &repo_path
|
||||||
|
~/ui-theme
|
||||||
- &defaults
|
- &defaults
|
||||||
working_directory: ~/ui-theme
|
working_directory: *repo_path
|
||||||
- &node11_executor
|
- &node_latest_executor
|
||||||
docker:
|
docker:
|
||||||
- image: circleci/node:11.10.1
|
- image: circleci/node:latest
|
||||||
- &node8_executor
|
- &node_lts_executor
|
||||||
|
docker:
|
||||||
|
- image: circleci/node:lts
|
||||||
|
- &node_8_executor
|
||||||
docker:
|
docker:
|
||||||
- image: circleci/node:8
|
- image: circleci/node:8
|
||||||
- &node10_executor
|
|
||||||
docker:
|
|
||||||
- image: circleci/node:10
|
|
||||||
- &default_executor
|
- &default_executor
|
||||||
<<: *node10_executor
|
<<: *node_latest_executor
|
||||||
- &repo_key
|
|
||||||
repo-{{ .Branch }}-{{ .Revision }}
|
|
||||||
- &coverage_key
|
|
||||||
coverage-{{ .Branch }}-{{ .Revision }}
|
|
||||||
- &base_config_key
|
|
||||||
base-config-{{ .Branch }}-{{ .Revision }}
|
|
||||||
- &yarn_cache_key
|
- &yarn_cache_key
|
||||||
yarn-sha-{{ checksum "yarn.lock" }}
|
yarn-sha-{{ checksum "yarn.lock" }}
|
||||||
|
- &coverage_key
|
||||||
|
coverage-{{ .Branch }}-{{ .Revision }}
|
||||||
- &restore_repo
|
- &restore_repo
|
||||||
restore_cache:
|
attach_workspace:
|
||||||
keys:
|
at: *repo_path
|
||||||
- *repo_key
|
|
||||||
- &ignore_non_dev_branches
|
- &ignore_non_dev_branches
|
||||||
filters:
|
filters:
|
||||||
tags:
|
tags:
|
||||||
@ -36,7 +33,7 @@ aliases:
|
|||||||
- &execute_on_release
|
- &execute_on_release
|
||||||
filters:
|
filters:
|
||||||
tags:
|
tags:
|
||||||
only: /(v)?[0-9]+(\.[0-9]+)*/
|
only: /v?[0-9]+(\.[0-9]+)*([-+\.][a-zA-Z0-9]+)*/
|
||||||
branches:
|
branches:
|
||||||
ignore:
|
ignore:
|
||||||
- /.*/
|
- /.*/
|
||||||
@ -48,21 +45,11 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- *restore_repo
|
- *restore_repo
|
||||||
- checkout
|
- checkout
|
||||||
- restore_cache:
|
|
||||||
key: *base_config_key
|
|
||||||
- run:
|
|
||||||
name: 'Base environment setup'
|
|
||||||
command: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
|
|
||||||
- save_cache:
|
|
||||||
key: *base_config_key
|
|
||||||
paths:
|
|
||||||
- ~/.npmrc
|
|
||||||
- ~/.gitconfig
|
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
key: *yarn_cache_key
|
key: *yarn_cache_key
|
||||||
- run:
|
- run:
|
||||||
name: Install Js dependencies
|
name: Install dependencies
|
||||||
command: yarn install --no-progress --registry https://registry.verdaccio.org --no-lockfile
|
command: yarn install --frozen-lockfile
|
||||||
- run:
|
- run:
|
||||||
name: Build project
|
name: Build project
|
||||||
command: yarn run build
|
command: yarn run build
|
||||||
@ -72,10 +59,20 @@ jobs:
|
|||||||
- ~/.yarn
|
- ~/.yarn
|
||||||
- ~/.cache/yarn
|
- ~/.cache/yarn
|
||||||
- node_modules
|
- node_modules
|
||||||
- save_cache:
|
- persist_to_workspace:
|
||||||
key: *repo_key
|
root: *repo_path
|
||||||
paths:
|
paths:
|
||||||
- ~/ui-theme
|
- ./*
|
||||||
|
|
||||||
|
lint:
|
||||||
|
<<: *defaults
|
||||||
|
<<: *default_executor
|
||||||
|
steps:
|
||||||
|
- *restore_repo
|
||||||
|
- run:
|
||||||
|
name: Lint code
|
||||||
|
command: yarn lint
|
||||||
|
|
||||||
test_bundlesize:
|
test_bundlesize:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
<<: *default_executor
|
<<: *default_executor
|
||||||
@ -85,37 +82,37 @@ jobs:
|
|||||||
name: Test BundleSize
|
name: Test BundleSize
|
||||||
command: yarn test:size
|
command: yarn test:size
|
||||||
|
|
||||||
test_node11:
|
test_node_latest:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
<<: *node11_executor
|
<<: *node_latest_executor
|
||||||
steps:
|
steps:
|
||||||
- *restore_repo
|
- *restore_repo
|
||||||
- run:
|
- run:
|
||||||
name: Test with Node 11
|
name: Test with Node (Latest)
|
||||||
command: yarn test
|
command: yarn test
|
||||||
|
|
||||||
test_node8:
|
|
||||||
<<: *defaults
|
|
||||||
<<: *node8_executor
|
|
||||||
steps:
|
|
||||||
- *restore_repo
|
|
||||||
- run:
|
|
||||||
name: Test with Node 8
|
|
||||||
command: yarn test
|
|
||||||
|
|
||||||
test_node10:
|
|
||||||
<<: *defaults
|
|
||||||
<<: *node10_executor
|
|
||||||
steps:
|
|
||||||
- *restore_repo
|
|
||||||
- run:
|
|
||||||
name: Test with Node 10
|
|
||||||
command: yarn run test
|
|
||||||
- save_cache:
|
- save_cache:
|
||||||
key: *coverage_key
|
key: *coverage_key
|
||||||
paths:
|
paths:
|
||||||
- coverage
|
- coverage
|
||||||
|
|
||||||
|
test_node_lts:
|
||||||
|
<<: *defaults
|
||||||
|
<<: *node_lts_executor
|
||||||
|
steps:
|
||||||
|
- *restore_repo
|
||||||
|
- run:
|
||||||
|
name: Test with Node (LTS)
|
||||||
|
command: yarn test
|
||||||
|
|
||||||
|
test_node_8:
|
||||||
|
<<: *defaults
|
||||||
|
<<: *node_8_executor
|
||||||
|
steps:
|
||||||
|
- *restore_repo
|
||||||
|
- run:
|
||||||
|
name: Test with Node (8)
|
||||||
|
command: yarn run test
|
||||||
|
|
||||||
coverage:
|
coverage:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
<<: *default_executor
|
<<: *default_executor
|
||||||
@ -140,8 +137,9 @@ jobs:
|
|||||||
<<: *default_executor
|
<<: *default_executor
|
||||||
steps:
|
steps:
|
||||||
- *restore_repo
|
- *restore_repo
|
||||||
- restore_cache:
|
- run:
|
||||||
key: *base_config_key
|
name: 'Setup publish credentials'
|
||||||
|
command: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
|
||||||
- run:
|
- run:
|
||||||
name: Publish
|
name: Publish
|
||||||
command: yarn publish
|
command: yarn publish
|
||||||
@ -152,29 +150,36 @@ workflows:
|
|||||||
jobs:
|
jobs:
|
||||||
- prepare:
|
- prepare:
|
||||||
<<: *ignore_non_dev_branches
|
<<: *ignore_non_dev_branches
|
||||||
- test_node11:
|
- lint:
|
||||||
requires:
|
|
||||||
- prepare
|
|
||||||
<<: *ignore_non_dev_branches
|
|
||||||
- test_node8:
|
|
||||||
requires:
|
|
||||||
- prepare
|
|
||||||
<<: *ignore_non_dev_branches
|
|
||||||
- test_node10:
|
|
||||||
requires:
|
requires:
|
||||||
- prepare
|
- prepare
|
||||||
<<: *ignore_non_dev_branches
|
<<: *ignore_non_dev_branches
|
||||||
- test_bundlesize:
|
- test_bundlesize:
|
||||||
requires:
|
requires:
|
||||||
- test_node11
|
- prepare
|
||||||
- test_node8
|
<<: *ignore_non_dev_branches
|
||||||
- test_node10
|
- test_node_latest:
|
||||||
|
requires:
|
||||||
|
- prepare
|
||||||
|
<<: *ignore_non_dev_branches
|
||||||
|
- test_node_lts:
|
||||||
|
requires:
|
||||||
|
- prepare
|
||||||
|
<<: *ignore_non_dev_branches
|
||||||
|
- test_node_8:
|
||||||
|
requires:
|
||||||
|
- prepare
|
||||||
<<: *ignore_non_dev_branches
|
<<: *ignore_non_dev_branches
|
||||||
- coverage:
|
- coverage:
|
||||||
requires:
|
requires:
|
||||||
- test_bundlesize
|
- test_node_latest
|
||||||
<<: *ignore_non_dev_branches
|
<<: *ignore_non_dev_branches
|
||||||
- publish_package:
|
- publish_package:
|
||||||
requires:
|
requires:
|
||||||
|
- lint
|
||||||
|
- test_bundlesize
|
||||||
|
- test_node_latest
|
||||||
|
- test_node_lts
|
||||||
|
- test_node_8
|
||||||
- coverage
|
- coverage
|
||||||
<<: *execute_on_release
|
<<: *execute_on_release
|
||||||
|
Loading…
Reference in New Issue
Block a user