aboutsummaryrefslogtreecommitdiffstats
path: root/.circleci/config.yml
diff options
context:
space:
mode:
Diffstat (limited to '.circleci/config.yml')
-rw-r--r--.circleci/config.yml108
1 files changed, 102 insertions, 6 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 6ed731225..4d9d01ee6 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -9,16 +9,27 @@ workflows:
- prep-build:
requires:
- prep-deps-npm
+ - prep-docs:
+ requires:
+ - prep-deps-npm
- prep-scss:
requires:
- prep-deps-npm
- test-lint:
requires:
- prep-deps-npm
- - test-e2e:
+ - test-deps:
+ requires:
+ - prep-deps-npm
+ - test-e2e-chrome:
requires:
- prep-deps-npm
- prep-build
+ - test-e2e-firefox:
+ requires:
+ - prep-deps-npm
+ - prep-deps-firefox
+ - prep-build
- test-unit:
requires:
- prep-deps-npm
@@ -44,7 +55,8 @@ workflows:
requires:
- test-lint
- test-unit
- - test-e2e
+ - test-e2e-chrome
+ - test-e2e-firefox
- test-integration-mascara-chrome
- test-integration-mascara-firefox
- test-integration-flat-chrome
@@ -54,10 +66,20 @@ workflows:
- prep-deps-npm
- prep-build
- all-tests-pass
- - job-publish:
+ - job-publish-prerelease:
+ requires:
+ - prep-deps-npm
+ - prep-build
+ - job-screens
+ - all-tests-pass
+ - job-publish-release:
+ filters:
+ branches:
+ only: master
requires:
- prep-deps-npm
- prep-build
+ - prep-docs
- job-screens
- all-tests-pass
@@ -115,6 +137,21 @@ jobs:
- dist
- builds
+ prep-docs:
+ docker:
+ - image: circleci/node:8-browsers
+ steps:
+ - checkout
+ - restore_cache:
+ key: dependency-cache-{{ .Revision }}
+ - run:
+ name: build:dist
+ command: npm run doc
+ - save_cache:
+ key: docs-cache-{{ .Revision }}
+ paths:
+ - docs/jsdoc
+
prep-scss:
docker:
- image: circleci/node:8-browsers
@@ -145,7 +182,18 @@ jobs:
name: Test
command: npm run lint
- test-e2e:
+ test-deps:
+ docker:
+ - image: circleci/node:8-browsers
+ steps:
+ - checkout
+ - restore_cache:
+ key: dependency-cache-{{ .Revision }}
+ - run:
+ name: Test
+ command: npx nsp check
+
+ test-e2e-chrome:
docker:
- image: circleci/node:8-browsers
steps:
@@ -156,7 +204,34 @@ jobs:
key: build-cache-{{ .Revision }}
- run:
name: Test
- command: npm run test:e2e
+ command: npm run test:e2e:chrome
+ - store_artifacts:
+ path: test-artifacts
+ destination: test-artifacts
+
+ test-e2e-firefox:
+ environment:
+ browsers: '["Firefox"]'
+ docker:
+ - image: circleci/node:8-browsers
+ steps:
+ - checkout
+ - restore_cache:
+ key: dependency-cache-firefox-{{ .Revision }}
+ - run:
+ name: Install firefox
+ command: >
+ sudo rm -r /opt/firefox
+ && sudo mv firefox /opt/firefox58
+ && sudo mv /usr/bin/firefox /usr/bin/firefox-old
+ && sudo ln -s /opt/firefox58/firefox /usr/bin/firefox
+ - restore_cache:
+ key: dependency-cache-{{ .Revision }}
+ - restore_cache:
+ key: build-cache-{{ .Revision }}
+ - run:
+ name: test:e2e:firefox
+ command: npm run test:e2e:firefox
- store_artifacts:
path: test-artifacts
destination: test-artifacts
@@ -178,7 +253,7 @@ jobs:
paths:
- test-artifacts
- job-publish:
+ job-publish-prerelease:
docker:
- image: circleci/node:8-browsers
steps:
@@ -204,9 +279,29 @@ jobs:
- run:
name: build:announce
command: ./development/metamaskbot-build-announce.js
+
+ job-publish-release:
+ docker:
+ - image: circleci/node:8-browsers
+ steps:
+ - checkout
+ - restore_cache:
+ key: dependency-cache-{{ .Revision }}
+ - restore_cache:
+ key: build-cache-{{ .Revision }}
+ - restore_cache:
+ key: docs-cache-{{ .Revision }}
+ - restore_cache:
+ key: job-screens-{{ .Revision }}
- run:
name: sentry sourcemaps upload
command: npm run sentry:publish
+ - run:
+ name: github gh-pages docs publish
+ command: >
+ git config user.name metamaskbot
+ git config user.email admin@metamask.io
+ gh-pages -d docs/jsdocs
test-unit:
docker:
@@ -320,3 +415,4 @@ jobs:
- run:
name: All Tests Passed
command: echo 'weew - everything passed!'
+