From acbf751b52d815a49d4e77499474e95133a0f001 Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Mon, 20 Jan 2020 13:03:21 -0400 Subject: [PATCH] Revert the revert of "Use common test build during CI (#7196)" (#7404) (#7870) This reverts commit 4b4c00e94fbb2f38746521864a568aab1400aac4. The original change was a possible optimization of CI, though it ended up not having a huge impact. It was thought that it may have broken source maps, because the test build overwrote the `dist` directory that the source maps were written to. However this turned out not to be the case, as the changes to `dist` are never persisted to the workspace. This is being re-introduced because the test build is needed for an additional job (the page load benchmark), and sharing the same build for all three jobs would surely be faster than building it separately three times. --- .circleci/config.yml | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8f5941a75992..c8f6c7d7b2da 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,6 +13,9 @@ workflows: - prep-build: requires: - prep-deps + - prep-build-test: + requires: + - prep-deps # - prep-docs: # requires: # - prep-deps @@ -28,10 +31,10 @@ workflows: - prep-deps - test-e2e-chrome: requires: - - prep-deps + - prep-build-test - test-e2e-firefox: requires: - - prep-deps + - prep-build-test - test-unit: requires: - prep-deps @@ -131,6 +134,24 @@ jobs: - dist - builds + prep-build-test: + docker: + - image: circleci/node:10.16-browsers + steps: + - checkout + - attach_workspace: + at: . + - run: + name: Build extension for testing + command: yarn build:test + - run: + name: Move test build to 'dist-test' to avoid conflict with production build + command: mv ./dist ./dist-test + - persist_to_workspace: + root: . + paths: + - dist-test + prep-docs: docker: - image: circleci/node:10.17-browsers @@ -218,9 +239,12 @@ jobs: - checkout - attach_workspace: at: . + - run: + name: Move test build to dist + command: mv ./dist-test ./dist - run: name: test:e2e:chrome - command: yarn build:test && yarn test:e2e:chrome + command: yarn test:e2e:chrome no_output_timeout: 20m - store_artifacts: path: test-artifacts @@ -236,9 +260,12 @@ jobs: command: ./.circleci/scripts/firefox-install - attach_workspace: at: . + - run: + name: Move test build to dist + command: mv ./dist-test ./dist - run: name: test:e2e:firefox - command: yarn build:test && yarn test:e2e:firefox + command: yarn test:e2e:firefox no_output_timeout: 20m - store_artifacts: path: test-artifacts