config.yml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. version: 2
  2. references:
  3. unittest-steps: &unittest-steps
  4. - checkout
  5. - restore_cache:
  6. keys:
  7. - v1-dependencies-{{ .Environment.CIRCLE_JOB }}-{{ arch }}-{{ checksum "package.json" }}
  8. - run: npm install
  9. - run: npm run build
  10. - run: npm run build:unittests
  11. - run: npm run test:unittests
  12. - save_cache:
  13. key: v1-dependencies-{{ .Environment.CIRCLE_JOB }}-{{ arch }}-{{ checksum "package.json" }}
  14. paths:
  15. - node_modules
  16. jobs:
  17. unittest-node8:
  18. docker:
  19. - image: circleci/node:8-browsers
  20. steps: *unittest-steps
  21. unittest-node9:
  22. docker:
  23. - image: circleci/node:9-browsers
  24. steps: *unittest-steps
  25. uitest-firefox:
  26. docker:
  27. - image: circleci/node:9-browsers
  28. steps:
  29. - checkout
  30. - restore_cache:
  31. keys:
  32. - v1-dependencies-{{ .Environment.CIRCLE_JOB }}-{{ arch }}-{{ checksum "package.json" }}
  33. - run: npm install
  34. - run: npm run build:uitests
  35. - run: npm run test:uitests firefox:headless
  36. - save_cache:
  37. key: v1-dependencies-{{ .Environment.CIRCLE_JOB }}-{{ arch }}-{{ checksum "package.json" }}
  38. paths:
  39. - node_modules
  40. uitest-chrome:
  41. docker:
  42. - image: circleci/node:9-browsers
  43. steps:
  44. - checkout
  45. - restore_cache:
  46. keys:
  47. - v1-dependencies-{{ .Environment.CIRCLE_JOB }}-{{ arch }}-{{ checksum "package.json" }}
  48. - run: npm install
  49. - run: npm run build:uitests
  50. - run: npm run test:uitests chrome:headless
  51. - save_cache:
  52. key: v1-dependencies-{{ .Environment.CIRCLE_JOB }}-{{ arch }}-{{ checksum "package.json" }}
  53. paths:
  54. - node_modules
  55. lint:
  56. docker:
  57. - image: circleci/node:8-browsers
  58. steps:
  59. - checkout
  60. - restore_cache:
  61. keys:
  62. - v1-dependencies-test-node8-{{ arch }}-{{ checksum "package.json" }}
  63. - run: npm install
  64. - run: npm run lint
  65. workflows:
  66. version: 2
  67. build:
  68. jobs:
  69. - unittest-node8
  70. - unittest-node9
  71. - uitest-firefox
  72. - uitest-chrome
  73. - lint