diff options
Diffstat (limited to '.circleci')
-rw-r--r-- | .circleci/config.yml | 108 |
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!' + |