pull/2919/head
filip mertens 2 years ago
parent dae63e54b0
commit f42fcfea49
  1. 186
      .circleci/config.yml

@ -9,16 +9,18 @@ parameters:
default: false default: false
orbs: orbs:
browser-tools: circleci/browser-tools@1.4.0 browser-tools: circleci/browser-tools@1.4.0
node: circleci/node@5.0.2
jobs: jobs:
build: build:
docker: docker:
# specify the version you desire here # specify the version you desire here
- image: cimg/node:14.17.6-browsers - image: cimg/base:current
# Specify service dependencies here if necessary # Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images # CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/ # documented at https://circleci.com/docs/2.0/circleci-images/
resource_class: xlarge resource_class:
xlarge
# - image: circleci/mongo:3.4.4 # - image: circleci/mongo:3.4.4
environment: environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
@ -26,7 +28,9 @@ jobs:
working_directory: ~/remix-project working_directory: ~/remix-project
steps: steps:
- checkout - checkout
- node/install:
install-yarn: true
node-version: "v14.17.6"
- restore_cache: - restore_cache:
keys: keys:
- v1-deps-{{ checksum "yarn.lock" }} - v1-deps-{{ checksum "yarn.lock" }}
@ -38,22 +42,23 @@ jobs:
- run: yarn run downloadsolc_assets - run: yarn run downloadsolc_assets
- run: npx nx build remix-ide - run: npx nx build remix-ide
- run: npx nx build remix-ide-e2e-src-local-plugin - run: npx nx build remix-ide-e2e-src-local-plugin
- run: yarn run build:libs - run: yarn run build:libs
- run: mkdir persist && zip -r persist/dist.zip dist - run: mkdir persist && zip -r persist/dist.zip dist
- persist_to_workspace: - persist_to_workspace:
root: . root: .
paths: paths:
- 'persist' - "persist"
lint: lint:
docker: docker:
# specify the version you desire here # specify the version you desire here
- image: cimg/node:14.17.6-browsers - image: cimg/base:current
# Specify service dependencies here if necessary # Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images # CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/ # documented at https://circleci.com/docs/2.0/circleci-images/
resource_class: xlarge resource_class:
xlarge
# - image: circleci/mongo:3.4.4 # - image: circleci/mongo:3.4.4
environment: environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
@ -62,6 +67,9 @@ jobs:
parallelism: 35 parallelism: 35
steps: steps:
- checkout - checkout
- node/install:
install-yarn: true
node-version: "v14.17.6"
- restore_cache: - restore_cache:
keys: keys:
- v1-deps-{{ checksum "yarn.lock" }} - v1-deps-{{ checksum "yarn.lock" }}
@ -72,12 +80,13 @@ jobs:
remix-libs: remix-libs:
docker: docker:
# specify the version you desire here # specify the version you desire here
- image: cimg/node:14.17.6-browsers - image: cimg/base:current
# Specify service dependencies here if necessary # Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images # CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/ # documented at https://circleci.com/docs/2.0/circleci-images/
resource_class: xlarge resource_class:
xlarge
# - image: circleci/mongo:3.4.4 # - image: circleci/mongo:3.4.4
environment: environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
@ -86,8 +95,11 @@ jobs:
steps: steps:
- checkout - checkout
- node/install:
install-yarn: true
node-version: "v14.17.6"
- attach_workspace: - attach_workspace:
at: . at: .
- run: unzip ./persist/dist.zip - run: unzip ./persist/dist.zip
- restore_cache: - restore_cache:
keys: keys:
@ -95,16 +107,17 @@ jobs:
- run: yarn install - run: yarn install
- run: cd dist/libs/remix-tests && yarn install - run: cd dist/libs/remix-tests && yarn install
- run: yarn run test:libs - run: yarn run test:libs
remix-ide-chrome: remix-ide-chrome:
docker: docker:
# specify the version you desire here # specify the version you desire here
- image: cimg/node:14.17.6-browsers - image: cimg/base:current
# Specify service dependencies here if necessary # Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images # CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/ # documented at https://circleci.com/docs/2.0/circleci-images/
resource_class: xlarge resource_class:
xlarge
# - image: circleci/mongo:3.4.4 # - image: circleci/mongo:3.4.4
environment: environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
@ -113,17 +126,20 @@ jobs:
parallelism: 90 parallelism: 90
steps: steps:
- node/install:
install-yarn: true
node-version: "v14.17.6"
- browser-tools/install-chrome - browser-tools/install-chrome
- browser-tools/install-chromedriver - browser-tools/install-chromedriver
- run: - run:
command: | command: |
google-chrome --version google-chrome --version
chromedriver --version chromedriver --version
java -jar /usr/local/bin/selenium.jar --version java -jar /usr/local/bin/selenium.jar --version
name: Check install name: Check install
- checkout - checkout
- attach_workspace: - attach_workspace:
at: . at: .
- run: unzip ./persist/dist.zip - run: unzip ./persist/dist.zip
- restore_cache: - restore_cache:
keys: keys:
@ -142,12 +158,13 @@ jobs:
flaky-chrome: flaky-chrome:
docker: docker:
# specify the version you desire here # specify the version you desire here
- image: cimg/node:14.17.6-browsers - image: cimg/base:current
# Specify service dependencies here if necessary # Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images # CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/ # documented at https://circleci.com/docs/2.0/circleci-images/
resource_class: xlarge resource_class:
xlarge
# - image: circleci/mongo:3.4.4 # - image: circleci/mongo:3.4.4
environment: environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
@ -156,17 +173,20 @@ jobs:
parallelism: 80 parallelism: 80
steps: steps:
- node/install:
install-yarn: true
node-version: "v14.17.6"
- browser-tools/install-chrome - browser-tools/install-chrome
- browser-tools/install-chromedriver - browser-tools/install-chromedriver
- run: - run:
command: | command: |
google-chrome --version google-chrome --version
chromedriver --version chromedriver --version
java -jar /usr/local/bin/selenium.jar --version java -jar /usr/local/bin/selenium.jar --version
name: Check install name: Check install
- checkout - checkout
- attach_workspace: - attach_workspace:
at: . at: .
- run: unzip ./persist/dist.zip - run: unzip ./persist/dist.zip
- restore_cache: - restore_cache:
keys: keys:
@ -185,12 +205,13 @@ jobs:
remix-ide-firefox: remix-ide-firefox:
docker: docker:
# specify the version you desire here # specify the version you desire here
- image: cimg/node:14.17.6-browsers - image: cimg/base:current
# Specify service dependencies here if necessary # Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images # CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/ # documented at https://circleci.com/docs/2.0/circleci-images/
resource_class: xlarge resource_class:
xlarge
# - image: circleci/mongo:3.4.4 # - image: circleci/mongo:3.4.4
environment: environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
@ -199,17 +220,20 @@ jobs:
parallelism: 90 parallelism: 90
steps: steps:
- node/install:
install-yarn: true
node-version: "v14.17.6"
- browser-tools/install-firefox - browser-tools/install-firefox
- browser-tools/install-geckodriver - browser-tools/install-geckodriver
- run: - run:
command: | command: |
firefox --version firefox --version
geckodriver --version geckodriver --version
java -jar /usr/local/bin/selenium.jar --version java -jar /usr/local/bin/selenium.jar --version
name: Check install name: Check install
- checkout - checkout
- attach_workspace: - attach_workspace:
at: . at: .
- run: unzip ./persist/dist.zip - run: unzip ./persist/dist.zip
- restore_cache: - restore_cache:
keys: keys:
@ -227,12 +251,13 @@ jobs:
flaky-firefox: flaky-firefox:
docker: docker:
# specify the version you desire here # specify the version you desire here
- image: cimg/node:14.17.6-browsers - image: cimg/base:current
# Specify service dependencies here if necessary # Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images # CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/ # documented at https://circleci.com/docs/2.0/circleci-images/
resource_class: xlarge resource_class:
xlarge
# - image: circleci/mongo:3.4.4 # - image: circleci/mongo:3.4.4
environment: environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
@ -241,17 +266,20 @@ jobs:
parallelism: 80 parallelism: 80
steps: steps:
- node/install:
install-yarn: true
node-version: "v14.17.6"
- browser-tools/install-firefox - browser-tools/install-firefox
- browser-tools/install-geckodriver - browser-tools/install-geckodriver
- run: - run:
command: | command: |
firefox --version firefox --version
geckodriver --version geckodriver --version
java -jar /usr/local/bin/selenium.jar --version java -jar /usr/local/bin/selenium.jar --version
name: Check install name: Check install
- checkout - checkout
- attach_workspace: - attach_workspace:
at: . at: .
- run: unzip ./persist/dist.zip - run: unzip ./persist/dist.zip
- restore_cache: - restore_cache:
keys: keys:
@ -270,12 +298,13 @@ jobs:
remix-ide-vyper-plugin: remix-ide-vyper-plugin:
docker: docker:
# specify the version you desire here # specify the version you desire here
- image: cimg/node:14.17.6-browsers - image: cimg/base:current
# Specify service dependencies here if necessary # Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images # CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/ # documented at https://circleci.com/docs/2.0/circleci-images/
resource_class: xlarge resource_class:
xlarge
# - image: circleci/mongo:3.4.4 # - image: circleci/mongo:3.4.4
environment: environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
@ -283,18 +312,20 @@ jobs:
working_directory: ~/remix-project working_directory: ~/remix-project
parallelism: 10 parallelism: 10
steps: steps:
- node/install:
install-yarn: true
node-version: "v14.17.6"
- browser-tools/install-chrome - browser-tools/install-chrome
- browser-tools/install-chromedriver - browser-tools/install-chromedriver
- run: - run:
command: | command: |
google-chrome --version google-chrome --version
chromedriver --version chromedriver --version
java -jar /usr/local/bin/selenium.jar --version java -jar /usr/local/bin/selenium.jar --version
name: Check install name: Check install
- checkout - checkout
- checkout
- attach_workspace: - attach_workspace:
at: . at: .
- run: unzip ./persist/dist.zip - run: unzip ./persist/dist.zip
- restore_cache: - restore_cache:
keys: keys:
@ -314,12 +345,13 @@ jobs:
remix-ide-etherscan-plugin: remix-ide-etherscan-plugin:
docker: docker:
# specify the version you desire here # specify the version you desire here
- image: cimg/node:14.17.6-browsers - image: cimg/base:current
# Specify service dependencies here if necessary # Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images # CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/ # documented at https://circleci.com/docs/2.0/circleci-images/
resource_class: xlarge resource_class:
xlarge
# - image: circleci/mongo:3.4.4 # - image: circleci/mongo:3.4.4
environment: environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
@ -327,18 +359,20 @@ jobs:
working_directory: ~/remix-project working_directory: ~/remix-project
parallelism: 10 parallelism: 10
steps: steps:
- node/install:
install-yarn: true
node-version: "v14.17.6"
- browser-tools/install-chrome - browser-tools/install-chrome
- browser-tools/install-chromedriver - browser-tools/install-chromedriver
- run: - run:
command: | command: |
google-chrome --version google-chrome --version
chromedriver --version chromedriver --version
java -jar /usr/local/bin/selenium.jar --version java -jar /usr/local/bin/selenium.jar --version
name: Check install name: Check install
- checkout - checkout
- checkout
- attach_workspace: - attach_workspace:
at: . at: .
- run: unzip ./persist/dist.zip - run: unzip ./persist/dist.zip
- restore_cache: - restore_cache:
keys: keys:
@ -354,16 +388,17 @@ jobs:
path: ./reports/tests path: ./reports/tests
- store_artifacts: - store_artifacts:
path: ./reports/screenshots path: ./reports/screenshots
remix-ide-plugin-api: remix-ide-plugin-api:
docker: docker:
# specify the version you desire here # specify the version you desire here
- image: cimg/node:14.17.6-browsers - image: cimg/base:current
# Specify service dependencies here if necessary # Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images # CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/ # documented at https://circleci.com/docs/2.0/circleci-images/
resource_class: xlarge resource_class:
xlarge
# - image: circleci/mongo:3.4.4 # - image: circleci/mongo:3.4.4
environment: environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
@ -371,18 +406,20 @@ jobs:
working_directory: ~/remix-project working_directory: ~/remix-project
parallelism: 10 parallelism: 10
steps: steps:
- node/install:
install-yarn: true
node-version: "v14.17.6"
- browser-tools/install-chrome - browser-tools/install-chrome
- browser-tools/install-chromedriver - browser-tools/install-chromedriver
- run: - run:
command: | command: |
google-chrome --version google-chrome --version
chromedriver --version chromedriver --version
java -jar /usr/local/bin/selenium.jar --version java -jar /usr/local/bin/selenium.jar --version
name: Check install name: Check install
- checkout - checkout
- checkout
- attach_workspace: - attach_workspace:
at: . at: .
- run: unzip ./persist/dist.zip - run: unzip ./persist/dist.zip
- restore_cache: - restore_cache:
keys: keys:
@ -401,12 +438,13 @@ jobs:
deploy-remix-live: deploy-remix-live:
docker: docker:
# specify the version you desire here # specify the version you desire here
- image: cimg/node:14.17.6-browsers - image: cimg/base:current
# Specify service dependencies here if necessary # Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images # CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/ # documented at https://circleci.com/docs/2.0/circleci-images/
resource_class: xlarge resource_class:
xlarge
# - image: circleci/mongo:3.4.4 # - image: circleci/mongo:3.4.4
environment: environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org" - COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
@ -415,26 +453,29 @@ jobs:
working_directory: ~/remix-project working_directory: ~/remix-project
steps: steps:
- node/install:
install-yarn: true
node-version: "v14.17.6"
- checkout - checkout
- run: yarn install - run: yarn install
- run: yarn run downloadsolc_assets - run: yarn run downloadsolc_assets
- run: yarn run build:production - run: yarn run build:production
- run: - run:
name: Deploy name: Deploy
command: | command: |
if [ "${CIRCLE_BRANCH}" == "remix_live" ]; then if [ "${CIRCLE_BRANCH}" == "remix_live" ]; then
./apps/remix-ide/ci/deploy_from_travis_remix-live.sh; ./apps/remix-ide/ci/deploy_from_travis_remix-live.sh;
fi fi
deploy-remix-alpha: deploy-remix-alpha:
docker: docker:
# specify the version you desire here # specify the version you desire here
- image: cimg/node:14.17.6-browsers - image: cimg/base:current
# Specify service dependencies here if necessary # Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images # CircleCI maintains a library of pre-built images
resource_class: xlarge resource_class:
xlarge
# documented at https://circleci.com/docs/2.0/circleci-images/ # documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/mongo:3.4.4 # - image: circleci/mongo:3.4.4
environment: environment:
@ -448,7 +489,7 @@ jobs:
- run: yarn install - run: yarn install
- run: yarn run downloadsolc_assets - run: yarn run downloadsolc_assets
- run: yarn run build:production - run: yarn run build:production
- run: - run:
name: Deploy name: Deploy
command: | command: |
if [ "${CIRCLE_BRANCH}" == "master" ]; then if [ "${CIRCLE_BRANCH}" == "master" ]; then
@ -458,11 +499,12 @@ jobs:
deploy-remix-beta: deploy-remix-beta:
docker: docker:
# specify the version you desire here # specify the version you desire here
- image: cimg/node:14.17.6-browsers - image: cimg/base:current
# Specify service dependencies here if necessary # Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images # CircleCI maintains a library of pre-built images
resource_class: xlarge resource_class:
xlarge
# documented at https://circleci.com/docs/2.0/circleci-images/ # documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/mongo:3.4.4 # - image: circleci/mongo:3.4.4
environment: environment:
@ -473,11 +515,14 @@ jobs:
steps: steps:
- checkout - checkout
- node/install:
install-yarn: true
node-version: "v14.17.6"
- run: yarn install - run: yarn install
- run: yarn run build:libs - run: yarn run build:libs
- run: yarn run downloadsolc_assets - run: yarn run downloadsolc_assets
- run: yarn run build:production - run: yarn run build:production
- run: - run:
name: Deploy name: Deploy
command: | command: |
if [ "${CIRCLE_BRANCH}" == "remix_beta" ]; then if [ "${CIRCLE_BRANCH}" == "remix_beta" ]; then
@ -520,7 +565,7 @@ workflows:
- remix-ide-firefox: - remix-ide-firefox:
requires: requires:
- build - build
- deploy-remix-live: - deploy-remix-live:
requires: requires:
- lint - lint
- remix-libs - remix-libs
@ -532,7 +577,7 @@ workflows:
filters: filters:
branches: branches:
only: remix_live only: remix_live
- deploy-remix-alpha: - deploy-remix-alpha:
requires: requires:
- lint - lint
- remix-libs - remix-libs
@ -544,7 +589,7 @@ workflows:
filters: filters:
branches: branches:
only: master only: master
- deploy-remix-beta: - deploy-remix-beta:
requires: requires:
- lint - lint
- remix-libs - remix-libs
@ -556,4 +601,3 @@ workflows:
filters: filters:
branches: branches:
only: remix_beta only: remix_beta

Loading…
Cancel
Save