0
Fork 0
mirror of https://github.com/verdaccio/verdaccio.git synced 2024-12-16 21:56:25 -05:00
verdaccio/.circleci/config.yml

156 lines
3.3 KiB
YAML
Raw Normal View History

version: 2.1
2018-06-03 08:50:44 -05:00
executors:
node_latest_browser:
2018-06-03 08:50:44 -05:00
docker:
- image: circleci/node:latest-browsers
node_latest:
2018-06-03 08:50:44 -05:00
docker:
- image: circleci/node:13
node_lts_12:
2018-06-03 08:50:44 -05:00
docker:
- image: circleci/node:12
node_lts_10:
docker:
- image: circleci/node:10
default_executor: node_latest
aliases:
- &repo_path
~/verdaccio
- &defaults
working_directory: *repo_path
2018-06-03 08:50:44 -05:00
- &yarn_cache_key
yarn-sha-{{ checksum "yarn.lock" }}
- &coverage_key
coverage-{{ .Branch }}-{{ .Revision }}
- &ignore_non_dev_branches
2018-06-03 08:50:44 -05:00
filters:
2018-06-12 03:28:55 -05:00
tags:
only: /.*/
2018-06-03 08:50:44 -05:00
branches:
ignore:
- gh-pages
- l10n_master
- /release\/.*/
commands:
restore_repo:
description: Restore repository from workspace
steps:
- attach_workspace:
at: *repo_path
run_test:
description: Run test and functional test
steps:
- run:
name: Test
command: yarn run test
- run:
name: Functional test
command: yarn test:functional
- store_test_results:
path: reports/
2018-06-03 08:50:44 -05:00
jobs:
prepare:
<<: *defaults
executor: default_executor
2018-06-03 08:50:44 -05:00
steps:
- checkout
- restore_cache:
key: *yarn_cache_key
- run:
name: Install dependencies
command: yarn install --no-progress --pure-lockfile
2018-06-03 08:50:44 -05:00
- run:
name: Prepare CI
command: yarn run pre:ci
- run:
name: Build project
command: yarn run code:build
- save_cache:
key: *yarn_cache_key
paths:
- ~/.yarn
- ~/.cache/yarn
- node_modules
- persist_to_workspace:
root: *repo_path
2018-06-03 08:50:44 -05:00
paths:
- ./*
2018-06-03 08:50:44 -05:00
test_node_latest:
2018-06-03 08:50:44 -05:00
<<: *defaults
executor: node_latest
2018-06-03 08:50:44 -05:00
steps:
- restore_repo
- run_test
- save_cache:
key: *coverage_key
paths:
- coverage
test_node_lts_12:
2019-04-28 17:20:26 -05:00
<<: *defaults
executor: node_lts_12
steps:
- restore_repo
- run_test
test_node_lts_10:
<<: *defaults
executor: node_lts_10
2019-04-28 17:20:26 -05:00
steps:
- restore_repo
- run_test
2018-06-03 08:50:44 -05:00
test_e2e:
<<: *defaults
executor: node_latest_browser
2018-06-03 08:50:44 -05:00
steps:
- restore_repo
2018-06-03 08:50:44 -05:00
- run:
name: Test End-to-End
command: yarn run test:e2e
2018-06-03 08:50:44 -05:00
coverage:
<<: *defaults
executor: default_executor
2018-06-03 08:50:44 -05:00
steps:
- restore_repo
2018-06-09 11:19:43 -05:00
- restore_cache:
key: *coverage_key
2018-06-03 08:50:44 -05:00
- run:
name: Publish coverage
command: yarn run coverage:publish
2018-06-09 11:19:43 -05:00
- store_artifacts:
path: coverage
2018-06-03 08:50:44 -05:00
workflows:
version: 2
workflow:
jobs:
- prepare:
<<: *ignore_non_dev_branches
- test_node_latest:
2018-06-03 08:50:44 -05:00
requires:
- prepare
<<: *ignore_non_dev_branches
- test_node_lts_12:
requires:
- prepare
<<: *ignore_non_dev_branches
- test_node_lts_10:
2018-06-03 08:50:44 -05:00
requires:
- prepare
<<: *ignore_non_dev_branches
2018-06-03 08:50:44 -05:00
- test_e2e:
requires:
- prepare
- test_node_latest
- test_node_lts_10
- test_node_lts_12
<<: *ignore_non_dev_branches
2018-06-03 08:50:44 -05:00
- coverage:
requires:
- test_e2e
<<: *ignore_non_dev_branches