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