aboutsummaryrefslogtreecommitdiffstats
path: root/.circleci/config.yml
diff options
context:
space:
mode:
Diffstat (limited to '.circleci/config.yml')
-rw-r--r--.circleci/config.yml142
1 files changed, 68 insertions, 74 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index a69903373..084ddb365 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -2,48 +2,54 @@ version: 2
workflows:
version: 2
- full_test:
+ test_and_release:
jobs:
- - prep-deps-npm
+ - create_release_pull_request:
+ filters:
+ branches:
+ only:
+ - /^Version-v(\d+)[.](\d+)[.](\d+)/
+ - prep-deps
+ - test-deps
- prep-build:
requires:
- - prep-deps-npm
+ - prep-deps
+ - create_github_release:
+ requires:
+ - prep-build
+ filters:
+ branches:
+ only:
+ - develop
# - prep-docs:
# requires:
- # - prep-deps-npm
+ # - prep-deps
- prep-scss:
requires:
- - prep-deps-npm
+ - prep-deps
- test-lint:
requires:
- - prep-deps-npm
- - test-deps:
- requires:
- - prep-deps-npm
+ - prep-deps
- test-e2e-chrome:
requires:
- - prep-deps-npm
+ - prep-deps
- test-e2e-firefox:
requires:
- - prep-deps-npm
- # - test-e2e-beta-drizzle:
- # requires:
- # - prep-deps-npm
- # - prep-build
+ - prep-deps
- test-unit:
requires:
- - prep-deps-npm
+ - prep-deps
- test-mozilla-lint:
requires:
- - prep-deps-npm
+ - prep-deps
- prep-build
- test-integration-flat-chrome:
requires:
- - prep-deps-npm
+ - prep-deps
- prep-scss
- test-integration-flat-firefox:
requires:
- - prep-deps-npm
+ - prep-deps
- prep-scss
- all-tests-pass:
requires:
@@ -52,41 +58,45 @@ workflows:
- test-mozilla-lint
- test-e2e-chrome
- test-e2e-firefox
- # - test-e2e-beta-drizzle
- test-integration-flat-chrome
- test-integration-flat-firefox
- - job-screens:
- requires:
- - prep-deps-npm
- - prep-build
- - all-tests-pass
- job-publish-prerelease:
requires:
- - prep-deps-npm
+ - prep-deps
- prep-build
- - job-screens
- all-tests-pass
- job-publish-release:
filters:
branches:
only: master
requires:
- - prep-deps-npm
+ - prep-deps
- prep-build
# - prep-docs
- - job-screens
- all-tests-pass
jobs:
- prep-deps-npm:
+ create_release_pull_request:
+ docker:
+ - image: circleci/node:8.15.1-browsers
+ steps:
+ - checkout
+ - run:
+ name: Create GitHub Pull Request for version
+ command: |
+ .circleci/scripts/release-bump-changelog-version
+ .circleci/scripts/release-bump-manifest-version
+ .circleci/scripts/release-create-release-pr
+
+ prep-deps:
docker:
- image: circleci/node:10.16-browsers
steps:
- checkout
- run:
- name: Install deps via npm
+ name: Install deps
command: |
- npm ci
+ yarn --frozen-lockfile
- persist_to_workspace:
root: .
paths:
@@ -101,7 +111,7 @@ jobs:
at: .
- run:
name: build:dist
- command: npm run dist
+ command: yarn dist
- run:
name: build:debug
command: find dist/ -type f -exec md5sum {} \; | sort -k 2
@@ -120,7 +130,7 @@ jobs:
at: .
- run:
name: build:dist
- command: npm run doc
+ command: yarn doc
- persist_to_workspace:
root: .
paths:
@@ -139,7 +149,7 @@ jobs:
command: find ui/app/css -type f -exec md5sum {} \; | sort -k 2 > scss_checksum
- run:
name: Build for integration tests
- command: npm run test:integration:build
+ command: yarn test:integration:build
- persist_to_workspace:
root: .
paths:
@@ -154,7 +164,7 @@ jobs:
at: .
- run:
name: Test
- command: npm run lint
+ command: yarn lint
test-deps:
docker:
@@ -164,22 +174,9 @@ jobs:
- attach_workspace:
at: .
- run:
- name: npm audit
- command: .circleci/scripts/npm-audit
+ name: yarn audit
+ command: .circleci/scripts/yarn-audit
- # 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
test-e2e-chrome:
docker:
- image: circleci/node:10.16-browsers
@@ -189,7 +186,7 @@ jobs:
at: .
- run:
name: test:e2e:chrome
- command: npm run build:test && npm run test:e2e:chrome
+ command: yarn build:test && yarn test:e2e:chrome
no_output_timeout: 20m
- store_artifacts:
path: test-artifacts
@@ -207,27 +204,12 @@ jobs:
at: .
- run:
name: test:e2e:firefox
- command: npm run build:test && npm run test:e2e:chrome
+ command: yarn build:test && yarn test:e2e:chrome
no_output_timeout: 20m
- store_artifacts:
path: test-artifacts
destination: test-artifacts
- job-screens:
- docker:
- - image: circleci/node:10.16-browsers
- steps:
- - checkout
- - attach_workspace:
- at: .
- - run:
- name: Test
- command: npm run test:screens
- - persist_to_workspace:
- root: .
- paths:
- - test-artifacts
-
job-publish-prerelease:
docker:
- image: circleci/node:10.16-browsers
@@ -257,13 +239,13 @@ jobs:
at: .
- run:
name: sentry sourcemaps upload
- command: npm run sentry:publish
+ command: yarn sentry:publish
# - 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
+ # yarn publish-docs
test-unit:
docker:
@@ -274,7 +256,7 @@ jobs:
at: .
- run:
name: test:coverage
- command: npm run test:coverage
+ command: yarn test:coverage
test-mozilla-lint:
docker:
- image: circleci/node:10.16-browsers
@@ -284,7 +266,7 @@ jobs:
at: .
- run:
name: test:mozilla-lint
- command: npm run mozilla-lint
+ command: NODE_OPTIONS=--max_old_space_size=3072 yarn mozilla-lint
test-integration-flat-firefox:
docker:
@@ -298,7 +280,7 @@ jobs:
command: ./.circleci/scripts/firefox-install
- run:
name: test:integration:flat
- command: npm run test:flat
+ command: yarn test:flat
test-integration-flat-chrome:
environment:
@@ -311,7 +293,7 @@ jobs:
at: .
- run:
name: test:integration:flat
- command: npm run test:flat
+ command: yarn test:flat
all-tests-pass:
docker:
@@ -320,3 +302,15 @@ jobs:
- run:
name: All Tests Passed
command: echo 'weew - everything passed!'
+
+ create_github_release:
+ docker:
+ - image: circleci/node:8.15.1-browsers
+ steps:
+ - checkout
+ - attach_workspace:
+ at: .
+ - run:
+ name: Create GitHub release
+ command: |
+ .circleci/scripts/release-create-gh-release