diff --git a/.circleci/config.yml b/.circleci/config.yml index 68067dc539..e308cf5191 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,17 +8,19 @@ parameters: type: boolean default: false orbs: - browser-tools: circleci/browser-tools@1.3.0 + browser-tools: circleci/browser-tools@1.4.0 + node: circleci/node@5.0.2 jobs: build: docker: # specify the version you desire here - - image: cimg/node:14.17.6-browsers + - image: cimg/base:current # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/2.0/circleci-images/ - resource_class: xlarge + resource_class: + xlarge # - image: circleci/mongo:3.4.4 environment: - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" @@ -26,11 +28,13 @@ jobs: working_directory: ~/remix-project steps: - checkout - + - node/install: + install-yarn: true + node-version: "v14.17.6" - restore_cache: keys: - v1-deps-{{ checksum "yarn.lock" }} - - run: yarn install + - run: yarn - save_cache: key: v1-deps-{{ checksum "yarn.lock" }} paths: @@ -38,22 +42,23 @@ jobs: - run: yarn run downloadsolc_assets - run: npx nx build remix-ide - run: npx nx build remix-ide-e2e-src-local-plugin - + - run: yarn run build:libs - run: mkdir persist && zip -r persist/dist.zip dist - persist_to_workspace: root: . paths: - - 'persist' + - "persist" lint: docker: # specify the version you desire here - - image: cimg/node:14.17.6-browsers + - image: cimg/base:current # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/2.0/circleci-images/ - resource_class: xlarge + resource_class: + xlarge # - image: circleci/mongo:3.4.4 environment: - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" @@ -62,22 +67,26 @@ jobs: parallelism: 35 steps: - checkout + - node/install: + install-yarn: true + node-version: "v14.17.6" - restore_cache: keys: - v1-deps-{{ checksum "yarn.lock" }} - - run: yarn install + - run: yarn - run: name: Remix Libs Linting command: ./apps/remix-ide/ci/lint.sh remix-libs: docker: # specify the version you desire here - - image: cimg/node:14.17.6-browsers + - image: cimg/base:current # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/2.0/circleci-images/ - resource_class: xlarge + resource_class: + xlarge # - image: circleci/mongo:3.4.4 environment: - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" @@ -86,52 +95,64 @@ jobs: steps: - checkout + - node/install: + install-yarn: true + node-version: "v14.17.6" - attach_workspace: - at: . + at: . - run: unzip ./persist/dist.zip - restore_cache: keys: - v1-deps-{{ checksum "yarn.lock" }} - - run: yarn install - - run: cd dist/libs/remix-tests && yarn install + - run: yarn + - run: cd dist/libs/remix-tests && yarn - run: yarn run test:libs - + remix-ide-chrome: docker: # specify the version you desire here - - image: cimg/node:14.17.6-browsers + - image: cimg/base:current # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/2.0/circleci-images/ - resource_class: xlarge + resource_class: + xlarge # - image: circleci/mongo:3.4.4 environment: - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" - COMMIT_AUTHOR: "Circle CI" working_directory: ~/remix-project - parallelism: 90 + parallelism: 95 steps: + - node/install: + install-yarn: true + node-version: "v14.17.6" - browser-tools/install-chrome - browser-tools/install-chromedriver - run: command: | - google-chrome --version - chromedriver --version - java -jar /usr/local/bin/selenium.jar --version + google-chrome --version + chromedriver --version name: Check install - checkout - attach_workspace: - at: . + at: . - run: unzip ./persist/dist.zip - restore_cache: keys: - v1-deps-{{ checksum "yarn.lock" }} - - run: yarn install + - run: yarn + - run: + name: Java + command: sudo apt update && sudo apt install default-jre + - run: + name: Install Selenium + command: yarn run selenium-install - run: - name: Start Selenium - command: java -jar /usr/local/bin/selenium.jar + name: Run Selenium + command: yarn run selenium background: true - run: ./apps/remix-ide/ci/browser_test.sh chrome - store_test_results: @@ -142,39 +163,48 @@ jobs: flaky-chrome: docker: # specify the version you desire here - - image: cimg/node:14.17.6-browsers + - image: cimg/base:current # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/2.0/circleci-images/ - resource_class: xlarge + resource_class: + xlarge # - image: circleci/mongo:3.4.4 environment: - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" - COMMIT_AUTHOR: "Circle CI" working_directory: ~/remix-project - parallelism: 80 + parallelism: 95 steps: + - node/install: + install-yarn: true + node-version: "v14.17.6" - browser-tools/install-chrome - browser-tools/install-chromedriver - run: command: | - google-chrome --version - chromedriver --version - java -jar /usr/local/bin/selenium.jar --version + google-chrome --version + chromedriver --version name: Check install - checkout - attach_workspace: - at: . + at: . - run: unzip ./persist/dist.zip - restore_cache: keys: - v1-deps-{{ checksum "yarn.lock" }} - - run: yarn install + - run: yarn + - run: + name: Java + command: sudo apt update && sudo apt install default-jre + - run: + name: Install Selenium + command: yarn run selenium-install - run: - name: Start Selenium - command: java -jar /usr/local/bin/selenium.jar + name: Run Selenium + command: yarn run selenium background: true - run: ./apps/remix-ide/ci/flaky.sh chrome - store_test_results: @@ -185,39 +215,49 @@ jobs: remix-ide-firefox: docker: # specify the version you desire here - - image: cimg/node:14.17.6-browsers + - image: cimg/base:current # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/2.0/circleci-images/ - resource_class: xlarge + resource_class: + xlarge # - image: circleci/mongo:3.4.4 environment: - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" - COMMIT_AUTHOR: "Circle CI" working_directory: ~/remix-project - parallelism: 90 + parallelism: 95 steps: + - node/install: + install-yarn: true + node-version: "v14.17.6" - browser-tools/install-firefox - browser-tools/install-geckodriver - run: command: | - firefox --version - geckodriver --version - java -jar /usr/local/bin/selenium.jar --version + firefox --version + geckodriver --version + name: Check install - checkout - attach_workspace: - at: . + at: . - run: unzip ./persist/dist.zip - restore_cache: keys: - v1-deps-{{ checksum "yarn.lock" }} - - run: yarn install + - run: yarn + - run: + name: Java + command: sudo apt update && sudo apt install default-jre - run: - name: Start Selenium - command: java -jar /usr/local/bin/selenium.jar + name: Install Selenium + command: yarn run selenium-install + - run: + name: Run Selenium + command: yarn run selenium background: true - run: ./apps/remix-ide/ci/browser_test.sh firefox - store_test_results: @@ -227,39 +267,49 @@ jobs: flaky-firefox: docker: # specify the version you desire here - - image: cimg/node:14.17.6-browsers + - image: cimg/base:current # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/2.0/circleci-images/ - resource_class: xlarge + resource_class: + xlarge # - image: circleci/mongo:3.4.4 environment: - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" - COMMIT_AUTHOR: "Circle CI" working_directory: ~/remix-project - parallelism: 80 + parallelism: 95 steps: + - node/install: + install-yarn: true + node-version: "v14.17.6" - browser-tools/install-firefox - browser-tools/install-geckodriver - run: command: | - firefox --version - geckodriver --version - java -jar /usr/local/bin/selenium.jar --version + firefox --version + geckodriver --version + name: Check install - checkout - attach_workspace: - at: . + at: . - run: unzip ./persist/dist.zip - restore_cache: keys: - v1-deps-{{ checksum "yarn.lock" }} - - run: yarn install + - run: yarn + - run: + name: Java + command: sudo apt update && sudo apt install default-jre + - run: + name: Install Selenium + command: yarn run selenium-install - run: - name: Start Selenium - command: java -jar /usr/local/bin/selenium.jar + name: Run Selenium + command: yarn run selenium background: true - run: ./apps/remix-ide/ci/flaky.sh firefox - store_test_results: @@ -270,12 +320,13 @@ jobs: remix-ide-vyper-plugin: docker: # specify the version you desire here - - image: cimg/node:14.17.6-browsers + - image: cimg/base:current # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/2.0/circleci-images/ - resource_class: xlarge + resource_class: + xlarge # - image: circleci/mongo:3.4.4 environment: - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" @@ -283,26 +334,34 @@ jobs: working_directory: ~/remix-project parallelism: 10 steps: + - node/install: + install-yarn: true + node-version: "v14.17.6" - browser-tools/install-chrome - browser-tools/install-chromedriver - run: command: | - google-chrome --version - chromedriver --version - java -jar /usr/local/bin/selenium.jar --version + google-chrome --version + chromedriver --version + name: Check install - checkout - - checkout - attach_workspace: - at: . + at: . - run: unzip ./persist/dist.zip - restore_cache: keys: - v1-deps-{{ checksum "yarn.lock" }} - - run: yarn install + - run: yarn + - run: + name: Java + command: sudo apt update && sudo apt install default-jre + - run: + name: Install Selenium + command: yarn run selenium-install - run: - name: Start Selenium - command: java -jar /usr/local/bin/selenium.jar + name: Run Selenium + command: yarn run selenium background: true - run: npx nx build vyper - run: ./apps/remix-ide/ci/browser_tests_vyper_plugin.sh @@ -314,12 +373,13 @@ jobs: remix-ide-etherscan-plugin: docker: # specify the version you desire here - - image: cimg/node:14.17.6-browsers + - image: cimg/base:current # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/2.0/circleci-images/ - resource_class: xlarge + resource_class: + xlarge # - image: circleci/mongo:3.4.4 environment: - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" @@ -327,26 +387,34 @@ jobs: working_directory: ~/remix-project parallelism: 10 steps: + - node/install: + install-yarn: true + node-version: "v14.17.6" - browser-tools/install-chrome - browser-tools/install-chromedriver - run: command: | - google-chrome --version - chromedriver --version - java -jar /usr/local/bin/selenium.jar --version + google-chrome --version + chromedriver --version + name: Check install - checkout - - checkout - attach_workspace: - at: . + at: . - run: unzip ./persist/dist.zip - restore_cache: keys: - v1-deps-{{ checksum "yarn.lock" }} - - run: yarn install + - run: yarn + - run: + name: Java + command: sudo apt update && sudo apt install default-jre + - run: + name: Install Selenium + command: yarn run selenium-install - run: - name: Start Selenium - command: java -jar /usr/local/bin/selenium.jar + name: Run Selenium + command: yarn run selenium background: true - run: npx nx build etherscan - run: ./apps/remix-ide/ci/browser_tests_etherscan_plugin.sh @@ -354,16 +422,17 @@ jobs: path: ./reports/tests - store_artifacts: path: ./reports/screenshots - + remix-ide-plugin-api: docker: # specify the version you desire here - - image: cimg/node:14.17.6-browsers + - image: cimg/base:current # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/2.0/circleci-images/ - resource_class: xlarge + resource_class: + xlarge # - image: circleci/mongo:3.4.4 environment: - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" @@ -371,26 +440,34 @@ jobs: working_directory: ~/remix-project parallelism: 10 steps: + - node/install: + install-yarn: true + node-version: "v14.17.6" - browser-tools/install-chrome - browser-tools/install-chromedriver - run: command: | - google-chrome --version - chromedriver --version - java -jar /usr/local/bin/selenium.jar --version + google-chrome --version + chromedriver --version + name: Check install - checkout - - checkout - attach_workspace: - at: . + at: . - run: unzip ./persist/dist.zip - restore_cache: keys: - v1-deps-{{ checksum "yarn.lock" }} - - run: yarn install + - run: yarn + - run: + name: Java + command: sudo apt update && sudo apt install default-jre - run: - name: Start Selenium - command: java -jar /usr/local/bin/selenium.jar + name: Install Selenium + command: yarn run selenium-install + - run: + name: Run Selenium + command: yarn run selenium background: true - run: ./apps/remix-ide/ci/browser_tests_plugin_api.sh - store_test_results: @@ -401,12 +478,13 @@ jobs: deploy-remix-live: docker: # specify the version you desire here - - image: cimg/node:14.17.6-browsers + - image: cimg/base:current # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/2.0/circleci-images/ - resource_class: xlarge + resource_class: + xlarge # - image: circleci/mongo:3.4.4 environment: - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" @@ -415,26 +493,29 @@ jobs: working_directory: ~/remix-project steps: + - node/install: + install-yarn: true + node-version: "v14.17.6" - checkout - - run: yarn install + - run: yarn - run: yarn run downloadsolc_assets - run: yarn run build:production - - run: + - run: name: Deploy command: | if [ "${CIRCLE_BRANCH}" == "remix_live" ]; then ./apps/remix-ide/ci/deploy_from_travis_remix-live.sh; fi - deploy-remix-alpha: docker: # specify the version you desire here - - image: cimg/node:14.17.6-browsers + - image: cimg/base:current # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images - resource_class: xlarge + resource_class: + xlarge # documented at https://circleci.com/docs/2.0/circleci-images/ # - image: circleci/mongo:3.4.4 environment: @@ -445,10 +526,10 @@ jobs: steps: - checkout - - run: yarn install + - run: yarn - run: yarn run downloadsolc_assets - run: yarn run build:production - - run: + - run: name: Deploy command: | if [ "${CIRCLE_BRANCH}" == "master" ]; then @@ -458,11 +539,12 @@ jobs: deploy-remix-beta: docker: # specify the version you desire here - - image: cimg/node:14.17.6-browsers + - image: cimg/base:current # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images - resource_class: xlarge + resource_class: + xlarge # documented at https://circleci.com/docs/2.0/circleci-images/ # - image: circleci/mongo:3.4.4 environment: @@ -473,11 +555,14 @@ jobs: steps: - checkout - - run: yarn install + - node/install: + install-yarn: true + node-version: "v14.17.6" + - run: yarn - run: yarn run build:libs - run: yarn run downloadsolc_assets - run: yarn run build:production - - run: + - run: name: Deploy command: | if [ "${CIRCLE_BRANCH}" == "remix_beta" ]; then @@ -520,7 +605,7 @@ workflows: - remix-ide-firefox: requires: - build - - deploy-remix-live: + - deploy-remix-live: requires: - lint - remix-libs @@ -532,7 +617,7 @@ workflows: filters: branches: only: remix_live - - deploy-remix-alpha: + - deploy-remix-alpha: requires: - lint - remix-libs @@ -544,7 +629,7 @@ workflows: filters: branches: only: master - - deploy-remix-beta: + - deploy-remix-beta: requires: - lint - remix-libs @@ -556,4 +641,3 @@ workflows: filters: branches: only: remix_beta - diff --git a/package.json b/package.json index f02f9a5b52..cb6a863b2b 100644 --- a/package.json +++ b/package.json @@ -324,7 +324,7 @@ "onchange": "^3.2.1", "request": "^2.83.0", "rimraf": "^2.6.1", - "selenium-standalone": "^8.0.4", + "selenium-standalone": "^8.2.0", "semver": "^6.3.0", "solc": "0.7.4", "tap-spec": "^5.0.0", diff --git a/yarn.lock b/yarn.lock index 28e737473a..498e79f2a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8179,10 +8179,10 @@ commander@^7.2.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== +commander@^9.0.0: + version "9.4.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c" + integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw== commondir@^1.0.1: version "1.0.1" @@ -20884,12 +20884,12 @@ select-hose@^2.0.0: resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= -selenium-standalone@^8.0.4: - version "8.0.8" - resolved "https://registry.yarnpkg.com/selenium-standalone/-/selenium-standalone-8.0.8.tgz#15f8202d2fed2bcc9264c10f2a8da4f71f85b377" - integrity sha512-2NCHoK12dbLbtXPIdMe1ljiLAMflJDBezPhjJBwmnYz5/yGjCPv2R9ojHO6W1ctD9DOlqyi3AxoAvlT2nmB7Fw== +selenium-standalone@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/selenium-standalone/-/selenium-standalone-8.2.0.tgz#378b9740fe84953083fa9c0b1d8dcbfc3bd8508c" + integrity sha512-gRFJm2A91sL0/4PavIsfTVNjyqNjk+zbdJg/zAYgTMjuoWJv+BlYJh+1UbEtyjt4YvZACYif1DFAzFjQapqiOA== dependencies: - commander "^8.3.0" + commander "^9.0.0" cross-spawn "^7.0.3" debug "^4.3.1" fs-extra "^10.0.0"