2018-03-09 21:47:01 +01:00
|
|
|
version: 2
|
|
|
|
|
|
|
|
workflows:
|
|
|
|
version: 2
|
2018-03-09 22:37:13 +01:00
|
|
|
full_test:
|
2018-03-09 21:47:01 +01:00
|
|
|
jobs:
|
2018-03-10 00:11:09 +01:00
|
|
|
- prep-deps-npm
|
2018-03-27 23:16:58 +02:00
|
|
|
- prep-build:
|
2018-03-27 23:08:20 +02:00
|
|
|
requires:
|
|
|
|
- prep-deps-npm
|
2019-07-01 18:54:49 +02:00
|
|
|
# - prep-docs:
|
|
|
|
# requires:
|
|
|
|
# - prep-deps-npm
|
2018-03-09 22:41:18 +01:00
|
|
|
- prep-scss:
|
2018-03-09 22:43:18 +01:00
|
|
|
requires:
|
2018-03-10 00:11:09 +01:00
|
|
|
- prep-deps-npm
|
2018-03-09 22:15:36 +01:00
|
|
|
- test-lint:
|
2018-03-09 21:47:01 +01:00
|
|
|
requires:
|
2018-03-10 00:11:09 +01:00
|
|
|
- prep-deps-npm
|
2019-06-06 17:56:27 +02:00
|
|
|
- test-deps:
|
|
|
|
requires:
|
|
|
|
- prep-deps-npm
|
2019-02-20 14:57:49 +01:00
|
|
|
- test-e2e-chrome:
|
2018-05-28 18:22:48 +02:00
|
|
|
requires:
|
|
|
|
- prep-deps-npm
|
2019-02-20 14:57:49 +01:00
|
|
|
- test-e2e-firefox:
|
2018-05-28 18:22:48 +02:00
|
|
|
requires:
|
|
|
|
- prep-deps-npm
|
2019-01-16 22:38:04 +01:00
|
|
|
# - test-e2e-beta-drizzle:
|
|
|
|
# requires:
|
|
|
|
# - prep-deps-npm
|
|
|
|
# - prep-build
|
2018-03-09 22:37:13 +01:00
|
|
|
- test-unit:
|
2018-03-09 22:15:36 +01:00
|
|
|
requires:
|
2018-03-10 00:11:09 +01:00
|
|
|
- prep-deps-npm
|
2018-09-26 02:44:57 +02:00
|
|
|
- test-mozilla-lint:
|
|
|
|
requires:
|
|
|
|
- prep-deps-npm
|
|
|
|
- prep-build
|
2018-03-10 20:09:45 +01:00
|
|
|
- test-integration-flat-chrome:
|
|
|
|
requires:
|
|
|
|
- prep-deps-npm
|
|
|
|
- prep-scss
|
|
|
|
- test-integration-flat-firefox:
|
2018-03-09 22:37:13 +01:00
|
|
|
requires:
|
2018-03-10 00:11:09 +01:00
|
|
|
- prep-deps-npm
|
2018-03-09 22:37:13 +01:00
|
|
|
- prep-scss
|
2018-03-28 01:09:11 +02:00
|
|
|
- all-tests-pass:
|
2018-03-27 23:40:04 +02:00
|
|
|
requires:
|
|
|
|
- test-lint
|
|
|
|
- test-unit
|
2018-09-26 02:44:57 +02:00
|
|
|
- test-mozilla-lint
|
2019-02-20 14:57:49 +01:00
|
|
|
- test-e2e-chrome
|
|
|
|
- test-e2e-firefox
|
2019-01-16 22:38:04 +01:00
|
|
|
# - test-e2e-beta-drizzle
|
2018-03-27 23:40:04 +02:00
|
|
|
- test-integration-flat-chrome
|
|
|
|
- test-integration-flat-firefox
|
2018-05-18 20:10:42 +02:00
|
|
|
- job-publish-prerelease:
|
2018-04-09 22:55:19 +02:00
|
|
|
requires:
|
|
|
|
- prep-deps-npm
|
|
|
|
- prep-build
|
|
|
|
- all-tests-pass
|
2018-05-18 20:29:10 +02:00
|
|
|
- job-publish-release:
|
|
|
|
filters:
|
|
|
|
branches:
|
|
|
|
only: master
|
|
|
|
requires:
|
|
|
|
- prep-deps-npm
|
|
|
|
- prep-build
|
2019-07-01 18:54:49 +02:00
|
|
|
# - prep-docs
|
2018-05-18 20:29:10 +02:00
|
|
|
- all-tests-pass
|
2018-03-09 21:47:01 +01:00
|
|
|
|
2018-03-09 21:38:28 +01:00
|
|
|
jobs:
|
2018-03-10 00:11:09 +01:00
|
|
|
prep-deps-npm:
|
2018-03-09 21:38:28 +01:00
|
|
|
docker:
|
2019-06-26 22:54:51 +02:00
|
|
|
- image: circleci/node:10.16-browsers
|
2018-03-09 21:38:28 +01:00
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
2019-03-12 16:54:20 +01:00
|
|
|
name: Install deps via npm
|
2018-07-06 06:32:12 +02:00
|
|
|
command: |
|
2019-03-12 16:54:20 +01:00
|
|
|
npm ci
|
2018-08-17 23:31:39 +02:00
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- node_modules
|
2018-03-09 23:58:02 +01:00
|
|
|
|
2018-03-27 23:16:58 +02:00
|
|
|
prep-build:
|
|
|
|
docker:
|
2019-06-26 22:54:51 +02:00
|
|
|
- image: circleci/node:10.16-browsers
|
2018-03-27 23:16:58 +02:00
|
|
|
steps:
|
|
|
|
- checkout
|
2018-08-17 23:31:39 +02:00
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
2018-03-27 23:16:58 +02:00
|
|
|
- run:
|
|
|
|
name: build:dist
|
|
|
|
command: npm run dist
|
|
|
|
- run:
|
|
|
|
name: build:debug
|
|
|
|
command: find dist/ -type f -exec md5sum {} \; | sort -k 2
|
2018-08-17 23:31:39 +02:00
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
2018-03-27 23:16:58 +02:00
|
|
|
paths:
|
|
|
|
- dist
|
2018-03-31 02:59:15 +02:00
|
|
|
- builds
|
2018-03-09 23:27:27 +01:00
|
|
|
|
2018-05-18 20:50:46 +02:00
|
|
|
prep-docs:
|
|
|
|
docker:
|
2019-06-26 22:54:51 +02:00
|
|
|
- image: circleci/node:10.16-browsers
|
2018-05-18 20:50:46 +02:00
|
|
|
steps:
|
|
|
|
- checkout
|
2018-08-17 23:31:39 +02:00
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
2018-05-18 20:50:46 +02:00
|
|
|
- run:
|
|
|
|
name: build:dist
|
|
|
|
command: npm run doc
|
2018-08-17 23:31:39 +02:00
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
2018-05-18 20:50:46 +02:00
|
|
|
paths:
|
2018-08-17 23:31:39 +02:00
|
|
|
- docs/jsdocs
|
2018-05-18 20:50:46 +02:00
|
|
|
|
2018-03-09 22:37:13 +01:00
|
|
|
prep-scss:
|
|
|
|
docker:
|
2019-06-26 22:54:51 +02:00
|
|
|
- image: circleci/node:10.16-browsers
|
2018-03-09 22:37:13 +01:00
|
|
|
steps:
|
|
|
|
- checkout
|
2018-08-17 23:31:39 +02:00
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
2018-03-09 22:37:13 +01:00
|
|
|
- run:
|
2018-03-09 23:00:36 +01:00
|
|
|
name: Get Scss Cache key
|
2018-03-09 22:50:57 +01:00
|
|
|
# this allows us to checksum against a whole directory
|
2018-03-10 00:30:58 +01:00
|
|
|
command: find ui/app/css -type f -exec md5sum {} \; | sort -k 2 > scss_checksum
|
2018-03-09 22:37:13 +01:00
|
|
|
- run:
|
2018-03-09 22:48:48 +01:00
|
|
|
name: Build for integration tests
|
2018-03-09 22:50:57 +01:00
|
|
|
command: npm run test:integration:build
|
2018-08-17 23:31:39 +02:00
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
2018-03-09 22:37:13 +01:00
|
|
|
paths:
|
|
|
|
- ui/app/css/output
|
|
|
|
|
2018-03-09 22:15:36 +01:00
|
|
|
test-lint:
|
2018-03-09 21:38:28 +01:00
|
|
|
docker:
|
2019-06-26 22:54:51 +02:00
|
|
|
- image: circleci/node:10.16-browsers
|
2018-03-09 21:38:28 +01:00
|
|
|
steps:
|
|
|
|
- checkout
|
2018-08-17 23:31:39 +02:00
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
2018-03-09 21:38:28 +01:00
|
|
|
- run:
|
|
|
|
name: Test
|
2018-03-09 22:15:36 +01:00
|
|
|
command: npm run lint
|
2018-03-09 22:37:13 +01:00
|
|
|
|
2019-06-06 17:56:27 +02:00
|
|
|
test-deps:
|
|
|
|
docker:
|
2019-06-26 22:54:51 +02:00
|
|
|
- image: circleci/node:10.16-browsers
|
2019-06-06 17:56:27 +02:00
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
- run:
|
|
|
|
name: npm audit
|
|
|
|
command: .circleci/scripts/npm-audit
|
2018-05-02 20:05:39 +02:00
|
|
|
|
2019-01-16 22:38:04 +01:00
|
|
|
# test-e2e-beta-drizzle:
|
|
|
|
# docker:
|
|
|
|
# - image: circleci/node:8.11.3-browsers
|
|
|
|
# steps:
|
|
|
|
# - checkout
|
|
|
|
# - attach_workspace:
|
|
|
|
# at: .
|
|
|
|
# - run:
|
|
|
|
# name: test:e2e:drizzle:beta
|
|
|
|
# command: npm run test:e2e:drizzle:beta
|
|
|
|
# - store_artifacts:
|
|
|
|
# path: test-artifacts
|
|
|
|
# destination: test-artifacts
|
2019-02-20 14:57:49 +01:00
|
|
|
test-e2e-chrome:
|
2018-05-28 18:22:48 +02:00
|
|
|
docker:
|
2019-06-26 22:54:51 +02:00
|
|
|
- image: circleci/node:10.16-browsers
|
2018-05-28 18:22:48 +02:00
|
|
|
steps:
|
|
|
|
- checkout
|
2018-08-17 23:31:39 +02:00
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
2018-05-28 18:22:48 +02:00
|
|
|
- run:
|
2019-02-20 14:57:49 +01:00
|
|
|
name: test:e2e:chrome
|
2019-03-28 17:43:11 +01:00
|
|
|
command: npm run build:test && npm run test:e2e:chrome
|
|
|
|
no_output_timeout: 20m
|
2018-05-28 18:22:48 +02:00
|
|
|
- store_artifacts:
|
|
|
|
path: test-artifacts
|
|
|
|
destination: test-artifacts
|
|
|
|
|
2019-02-20 14:57:49 +01:00
|
|
|
test-e2e-firefox:
|
2018-05-28 18:22:48 +02:00
|
|
|
docker:
|
2019-06-26 22:54:51 +02:00
|
|
|
- image: circleci/node:10.16-browsers
|
2018-05-28 18:22:48 +02:00
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
2018-08-17 15:43:47 +02:00
|
|
|
name: Install Firefox
|
|
|
|
command: ./.circleci/scripts/firefox-install
|
2018-08-17 23:31:39 +02:00
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
2018-05-28 18:22:48 +02:00
|
|
|
- run:
|
2019-02-20 14:57:49 +01:00
|
|
|
name: test:e2e:firefox
|
2019-03-28 17:43:11 +01:00
|
|
|
command: npm run build:test && npm run test:e2e:chrome
|
|
|
|
no_output_timeout: 20m
|
2018-05-28 18:22:48 +02:00
|
|
|
- store_artifacts:
|
|
|
|
path: test-artifacts
|
|
|
|
destination: test-artifacts
|
|
|
|
|
2018-05-18 20:10:42 +02:00
|
|
|
job-publish-prerelease:
|
2018-03-31 02:59:15 +02:00
|
|
|
docker:
|
2019-06-26 22:54:51 +02:00
|
|
|
- image: circleci/node:10.16-browsers
|
2018-03-31 02:59:15 +02:00
|
|
|
steps:
|
|
|
|
- checkout
|
2018-08-17 23:31:39 +02:00
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
2018-04-03 20:11:00 +02:00
|
|
|
- store_artifacts:
|
|
|
|
path: dist/sourcemaps
|
|
|
|
destination: builds/sourcemaps
|
2018-03-31 02:59:15 +02:00
|
|
|
- store_artifacts:
|
|
|
|
path: builds
|
|
|
|
destination: builds
|
2018-03-30 10:01:16 +02:00
|
|
|
- store_artifacts:
|
|
|
|
path: test-artifacts
|
|
|
|
destination: test-artifacts
|
2018-03-31 02:59:15 +02:00
|
|
|
- run:
|
|
|
|
name: build:announce
|
|
|
|
command: ./development/metamaskbot-build-announce.js
|
2018-05-18 20:29:10 +02:00
|
|
|
|
|
|
|
job-publish-release:
|
|
|
|
docker:
|
2019-06-26 22:54:51 +02:00
|
|
|
- image: circleci/node:10.16-browsers
|
2018-05-18 20:29:10 +02:00
|
|
|
steps:
|
|
|
|
- checkout
|
2018-08-17 23:31:39 +02:00
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
2018-04-03 21:36:46 +02:00
|
|
|
- run:
|
|
|
|
name: sentry sourcemaps upload
|
|
|
|
command: npm run sentry:publish
|
2019-07-01 19:30:08 +02:00
|
|
|
# - run:
|
|
|
|
# name: github gh-pages docs publish
|
|
|
|
# command: >
|
|
|
|
# git config --global user.name "metamaskbot" &&
|
|
|
|
# git config --global user.email "admin@metamask.io" &&
|
|
|
|
# npm run publish-docs
|
2018-03-30 10:01:16 +02:00
|
|
|
|
2018-03-09 22:37:13 +01:00
|
|
|
test-unit:
|
2018-03-09 22:15:36 +01:00
|
|
|
docker:
|
2019-06-26 22:54:51 +02:00
|
|
|
- image: circleci/node:10.16-browsers
|
2018-03-09 22:15:36 +01:00
|
|
|
steps:
|
|
|
|
- checkout
|
2018-08-17 23:31:39 +02:00
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
2018-03-09 22:15:36 +01:00
|
|
|
- run:
|
|
|
|
name: test:coverage
|
|
|
|
command: npm run test:coverage
|
2018-09-26 02:44:57 +02:00
|
|
|
test-mozilla-lint:
|
|
|
|
docker:
|
2019-06-26 22:54:51 +02:00
|
|
|
- image: circleci/node:10.16-browsers
|
2018-09-26 02:44:57 +02:00
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
|
|
|
- run:
|
|
|
|
name: test:mozilla-lint
|
2019-07-04 16:53:02 +02:00
|
|
|
command: NODE_OPTIONS=--max_old_space_size=3072 npm run mozilla-lint
|
2018-03-09 22:37:13 +01:00
|
|
|
|
2018-03-10 20:09:45 +01:00
|
|
|
test-integration-flat-firefox:
|
2018-03-09 22:15:36 +01:00
|
|
|
docker:
|
2019-06-26 22:54:51 +02:00
|
|
|
- image: circleci/node:10.16-browsers
|
2018-03-09 22:15:36 +01:00
|
|
|
steps:
|
|
|
|
- checkout
|
2018-08-17 23:31:39 +02:00
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
2018-03-10 00:11:09 +01:00
|
|
|
- run:
|
2018-08-17 15:43:47 +02:00
|
|
|
name: Install Firefox
|
|
|
|
command: ./.circleci/scripts/firefox-install
|
2018-03-09 22:37:13 +01:00
|
|
|
- run:
|
|
|
|
name: test:integration:flat
|
|
|
|
command: npm run test:flat
|
|
|
|
|
2018-03-10 20:09:45 +01:00
|
|
|
test-integration-flat-chrome:
|
|
|
|
environment:
|
2018-03-10 20:13:27 +01:00
|
|
|
browsers: '["Chrome"]'
|
2018-03-10 20:09:45 +01:00
|
|
|
docker:
|
2019-06-26 22:54:51 +02:00
|
|
|
- image: circleci/node:10.16-browsers
|
2018-03-10 20:09:45 +01:00
|
|
|
steps:
|
|
|
|
- checkout
|
2018-08-17 23:31:39 +02:00
|
|
|
- attach_workspace:
|
|
|
|
at: .
|
2018-03-10 20:09:45 +01:00
|
|
|
- run:
|
|
|
|
name: test:integration:flat
|
|
|
|
command: npm run test:flat
|
|
|
|
|
2018-03-28 01:09:11 +02:00
|
|
|
all-tests-pass:
|
|
|
|
docker:
|
2019-06-26 22:54:51 +02:00
|
|
|
- image: circleci/node:10.16-browsers
|
2018-03-28 01:09:11 +02:00
|
|
|
steps:
|
|
|
|
- run:
|
2018-03-28 01:10:27 +02:00
|
|
|
name: All Tests Passed
|
2018-08-17 15:43:47 +02:00
|
|
|
command: echo 'weew - everything passed!'
|