circle-ci parallel

pull/5370/head
yann300 5 years ago
parent 54aa76d2dc
commit d0611eddd0
  1. 216
      .circleci/config.yml
  2. 39
      ci/browser_tests_chrome_part1.sh
  3. 39
      ci/browser_tests_chrome_part2.sh
  4. 39
      ci/browser_tests_firefox_part1.sh
  5. 39
      ci/browser_tests_firefox_part2.sh
  6. 30
      ci/browser_tests_run_deploy.sh
  7. 21
      package.json

@ -4,7 +4,7 @@
#
version: 2
jobs:
remix-ide:
remix-ide-chrome-1:
docker:
# specify the version you desire here
- image: circleci/node:9.11.2-browsers
@ -12,6 +12,69 @@ jobs:
# 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
# - image: circleci/mongo:3.4.4
environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
- COMMIT_AUTHOR: "Circle CI"
- FILES_TO_PACKAGE: "assets background.js build icon.png index.html manifest.json README.md soljson.js package.json"
working_directory: ~/remix-ide
steps:
- checkout
- run: npm install
- run: npm run lint && npm run test && npm run make-mock-compiler
- run:
name: Download Selenium
command: ./node_modules/.bin/selenium-standalone install --config=../remix-ide/seleniumConfig.js
- run:
name: Start Selenium
command: ./node_modules/.bin/selenium-standalone start --config=../remix-ide/seleniumConfig.js
background: true
- run: ./ci/browser_tests_chrome_part1.sh
- store_artifacts:
path: ./reports/screenshots
remix-ide-chrome-2:
docker:
# specify the version you desire here
- image: circleci/node:9.11.2-browsers
# 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
# - image: circleci/mongo:3.4.4
environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
- COMMIT_AUTHOR: "Circle CI"
- FILES_TO_PACKAGE: "assets background.js build icon.png index.html manifest.json README.md soljson.js package.json"
working_directory: ~/remix-ide
steps:
- checkout
- run: npm install
- run: npm run lint && npm run test && npm run make-mock-compiler
- run:
name: Download Selenium
command: ./node_modules/.bin/selenium-standalone install --config=../remix-ide/seleniumConfig.js
- run:
name: Start Selenium
command: ./node_modules/.bin/selenium-standalone start --config=../remix-ide/seleniumConfig.js
background: true
- run: ./ci/browser_tests_chrome_part2.sh
- store_artifacts:
path: ./reports/screenshots
remix-ide-firefox-1:
docker:
# specify the version you desire here
- image: circleci/node:9.11.2-browsers
# 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
# - image: circleci/mongo:3.4.4
environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
@ -36,18 +99,133 @@ jobs:
- run:
name: Install Firefox
command: sudo dpkg -i firefox-mozilla-build_73.0.1-0ubuntu1_amd64.deb
- run: ./ci/browser_tests.sh
- run: ./ci/browser_tests_firefox_part1.sh
- store_artifacts:
path: ./reports/screenshots
remix-ide-firefox-2:
docker:
# specify the version you desire here
- image: circleci/node:9.11.2-browsers
# 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
# - image: circleci/mongo:3.4.4
environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
- COMMIT_AUTHOR: "Circle CI"
- FILES_TO_PACKAGE: "assets background.js build icon.png index.html manifest.json README.md soljson.js package.json"
working_directory: ~/remix-ide
steps:
- checkout
- run: npm install
- run: npm run lint && npm run test && npm run make-mock-compiler
- run:
name: Download Selenium
command: ./node_modules/.bin/selenium-standalone install --config=../remix-ide/seleniumConfig.js
- run:
name: Start Selenium
command: ./node_modules/.bin/selenium-standalone start --config=../remix-ide/seleniumConfig.js
background: true
- run:
name: Download Latest Firefox
command: sudo apt-get purge -y firefox && wget https://sourceforge.net/projects/ubuntuzilla/files/mozilla/apt/pool/main/f/firefox-mozilla-build/firefox-mozilla-build_73.0.1-0ubuntu1_amd64.deb
- run:
name: Install Firefox
command: sudo dpkg -i firefox-mozilla-build_73.0.1-0ubuntu1_amd64.deb
- run: ./ci/browser_tests_firefox_part2.sh
- store_artifacts:
path: ./reports/screenshots
remix-ide-run-deploy:
docker:
# specify the version you desire here
- image: circleci/node:9.11.2-browsers
# 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
# - image: circleci/mongo:3.4.4
environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
- COMMIT_AUTHOR: "Circle CI"
- FILES_TO_PACKAGE: "assets background.js build icon.png index.html manifest.json README.md soljson.js package.json"
working_directory: ~/remix-ide
steps:
- checkout
- run: npm install
- run: npm run lint && npm run test && npm run make-mock-compiler
- run:
name: Download Selenium
command: ./node_modules/.bin/selenium-standalone install --config=../remix-ide/seleniumConfig.js
- run:
name: Start Selenium
command: ./node_modules/.bin/selenium-standalone start --config=../remix-ide/seleniumConfig.js
background: true
- run: ./ci/browser_tests_run_deploy.sh
- store_artifacts:
path: ./reports/screenshots
deploy-remix-live:
docker:
# specify the version you desire here
- image: circleci/node:9.11.2-browsers
# 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
# - image: circleci/mongo:3.4.4
environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
- COMMIT_AUTHOR: "Circle CI"
- FILES_TO_PACKAGE: "assets background.js build icon.png index.html manifest.json README.md soljson.js package.json"
working_directory: ~/remix-ide
steps:
- checkout
- run: npm install
- run: npm run lint && npm run test && npm run make-mock-compiler
- run:
name: Deploy
command: |
if [ "${CIRCLE_BRANCH}" == "master" ]; then
./ci/deploy_from_travis_remix-alpha.sh;
if [ "${CIRCLE_BRANCH}" == "remix_live" ]; then
./ci/deploy_from_travis_remix-live.sh;
fi
- store_artifacts:
path: ./reports/screenshots
deploy-remix-alpha:
docker:
# specify the version you desire here
- image: circleci/node:9.11.2-browsers
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
resource_class: xlarge
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/mongo:3.4.4
environment:
- COMMIT_AUTHOR_EMAIL: "yann@ethereum.org"
- COMMIT_AUTHOR: "Circle CI"
- FILES_TO_PACKAGE: "assets background.js build icon.png index.html manifest.json README.md soljson.js package.json"
working_directory: ~/remix-ide
steps:
- checkout
- run: npm install
- run: npm run lint && npm run test && npm run make-mock-compiler
- run:
name: Deploy
command: |
if [ "${CIRCLE_BRANCH}" == "remix_live" ]; then
./ci/deploy_from_travis_remix-live.sh;
if [ "${CIRCLE_BRANCH}" == "master" ]; then
./ci/deploy_from_travis_remix-alpha.sh;
fi
- store_artifacts:
path: ./reports/screenshots
@ -56,4 +234,28 @@ workflows:
version: 2
build_all:
jobs:
- remix-ide
- remix-ide-chrome-1
- remix-ide-firefox-1
- remix-ide-chrome-2
- remix-ide-firefox-2
- remix-ide-run-deploy
- deploy-remix-live:
requires:
- remix-ide-chrome-1
- remix-ide-firefox-1
- remix-ide-chrome-2
- remix-ide-firefox-2
- remix-ide-run-deploy
filters:
branches:
only: remix_live
- deploy-remix-alpha:
requires:
- remix-ide-chrome-1
- remix-ide-firefox-1
- remix-ide-chrome-2
- remix-ide-firefox-2
- remix-ide-run-deploy
filters:
branches:
only: master

@ -0,0 +1,39 @@
#!/usr/bin/env bash
set -e
setupRemixd () {
mkdir remixdSharedfolder
cd contracts
echo 'sharing folder: '
echo $PWD
./../node_modules/remixd/bin/remixd -s $PWD --remix-ide http://127.0.0.1:8080 &
cd ..
}
BUILD_ID=${CIRCLE_BUILD_NUM:-${TRAVIS_JOB_NUMBER}}
echo "$BUILD_ID"
TEST_EXITCODE=0
npm run ganache-cli &
npm run serve &
setupRemixd
sleep 5
npm run nightwatch_local_libraryDeployment || TEST_EXITCODE=1
npm run nightwatch_local_solidityImport || TEST_EXITCODE=1
npm run nightwatch_local_recorder || TEST_EXITCODE=1
npm run nightwatch_local_transactionExecution || TEST_EXITCODE=1
npm run nightwatch_local_staticAnalysis || TEST_EXITCODE=1
npm run nightwatch_local_signingMessage || TEST_EXITCODE=1
npm run nightwatch_local_specialFunctions || TEST_EXITCODE=1
npm run nightwatch_local_solidityUnitTests || TEST_EXITCODE=1
npm run nightwatch_local_remixd || TEST_EXITCODE=1
npm run nightwatch_local_terminal || TEST_EXITCODE=1
echo "$TEST_EXITCODE"
if [ "$TEST_EXITCODE" -eq 1 ]
then
exit 1
fi

@ -0,0 +1,39 @@
#!/usr/bin/env bash
set -e
setupRemixd () {
mkdir remixdSharedfolder
cd contracts
echo 'sharing folder: '
echo $PWD
./../node_modules/remixd/bin/remixd -s $PWD --remix-ide http://127.0.0.1:8080 &
cd ..
}
BUILD_ID=${CIRCLE_BUILD_NUM:-${TRAVIS_JOB_NUMBER}}
echo "$BUILD_ID"
TEST_EXITCODE=0
npm run ganache-cli &
npm run serve &
setupRemixd
sleep 5
npm run nightwatch_local_ballot || TEST_EXITCODE=1
npm run nightwatch_local_gist || TEST_EXITCODE=1
npm run nightwatch_local_workspace || TEST_EXITCODE=1
npm run nightwatch_local_defaultLayout || TEST_EXITCODE=1
npm run nightwatch_local_pluginManager || TEST_EXITCODE=1
npm run nightwatch_local_publishContract || TEST_EXITCODE=1
npm run nightwatch_local_generalSettings || TEST_EXITCODE=1
npm run nightwatch_local_fileExplorer || TEST_EXITCODE=1
npm run nightwatch_local_debugger || TEST_EXITCODE=1
npm run nightwatch_local_editor || TEST_EXITCODE=1
echo "$TEST_EXITCODE"
if [ "$TEST_EXITCODE" -eq 1 ]
then
exit 1
fi

@ -0,0 +1,39 @@
#!/usr/bin/env bash
set -e
setupRemixd () {
mkdir remixdSharedfolder
cd contracts
echo 'sharing folder: '
echo $PWD
./../node_modules/remixd/bin/remixd -s $PWD --remix-ide http://127.0.0.1:8080 &
cd ..
}
BUILD_ID=${CIRCLE_BUILD_NUM:-${TRAVIS_JOB_NUMBER}}
echo "$BUILD_ID"
TEST_EXITCODE=0
npm run ganache-cli &
npm run serve &
setupRemixd
sleep 5
npm run nightwatch_local_libraryDeployment_firefox || TEST_EXITCODE=1
npm run nightwatch_local_solidityImport_firefox || TEST_EXITCODE=1
npm run nightwatch_local_recorder_firefox || TEST_EXITCODE=1
npm run nightwatch_local_transactionExecution_firefox || TEST_EXITCODE=1
npm run nightwatch_local_staticAnalysis_firefox || TEST_EXITCODE=1
npm run nightwatch_local_signingMessage_firefox || TEST_EXITCODE=1
npm run nightwatch_local_specialFunctions_firefox || TEST_EXITCODE=1
npm run nightwatch_local_solidityUnitTests_firefox || TEST_EXITCODE=1
npm run nightwatch_local_remixd_firefox || TEST_EXITCODE=1
npm run nightwatch_local_terminal_firefox || TEST_EXITCODE=1
echo "$TEST_EXITCODE"
if [ "$TEST_EXITCODE" -eq 1 ]
then
exit 1
fi

@ -0,0 +1,39 @@
#!/usr/bin/env bash
set -e
setupRemixd () {
mkdir remixdSharedfolder
cd contracts
echo 'sharing folder: '
echo $PWD
./../node_modules/remixd/bin/remixd -s $PWD --remix-ide http://127.0.0.1:8080 &
cd ..
}
BUILD_ID=${CIRCLE_BUILD_NUM:-${TRAVIS_JOB_NUMBER}}
echo "$BUILD_ID"
TEST_EXITCODE=0
npm run ganache-cli &
npm run serve &
setupRemixd
sleep 5
npm run nightwatch_local_ballot_firefox || TEST_EXITCODE=1
npm run nightwatch_local_gist_firefox || TEST_EXITCODE=1
npm run nightwatch_local_workspace_firefox || TEST_EXITCODE=1
npm run nightwatch_local_defaultLayout_firefox || TEST_EXITCODE=1
npm run nightwatch_local_pluginManager_firefox || TEST_EXITCODE=1
npm run nightwatch_local_publishContract_firefox || TEST_EXITCODE=1
npm run nightwatch_local_generalSettings_firefox || TEST_EXITCODE=1
npm run nightwatch_local_fileExplorer_firefox || TEST_EXITCODE=1
npm run nightwatch_local_debugger_firefox || TEST_EXITCODE=1
npm run nightwatch_local_editor_firefox || TEST_EXITCODE=1
echo "$TEST_EXITCODE"
if [ "$TEST_EXITCODE" -eq 1 ]
then
exit 1
fi

@ -0,0 +1,30 @@
#!/usr/bin/env bash
set -e
setupRemixd () {
mkdir remixdSharedfolder
cd contracts
echo 'sharing folder: '
echo $PWD
./../node_modules/remixd/bin/remixd -s $PWD --remix-ide http://127.0.0.1:8080 &
cd ..
}
BUILD_ID=${CIRCLE_BUILD_NUM:-${TRAVIS_JOB_NUMBER}}
echo "$BUILD_ID"
TEST_EXITCODE=0
npm run ganache-cli &
npm run serve &
setupRemixd
sleep 5
npm run nightwatch_local_runAndDeploy || TEST_EXITCODE=1
echo "$TEST_EXITCODE"
if [ "$TEST_EXITCODE" -eq 1 ]
then
exit 1
fi

@ -185,6 +185,27 @@
"nightwatch_local_fileExplorer": "nightwatch ./test-browser/tests/fileExplorer.js --config nightwatch.js --env chrome ",
"nightwatch_local_debugger": "nightwatch ./test-browser/tests/debugger.js --config nightwatch.js --env chrome ",
"nightwatch_local_editor": "nightwatch ./test-browser/tests/editor.js --config nightwatch.js --env chrome ",
"nightwatch_local_ballot_firefox": "nightwatch ./test-browser/tests/ballot.js --config nightwatch.js --env firefox ",
"nightwatch_local_libraryDeployment_firefox": "nightwatch ./test-browser/tests/libraryDeployment.js --config nightwatch.js --env firefox ",
"nightwatch_local_solidityImport_firefox": "nightwatch ./test-browser/tests/solidityImport.js --config nightwatch.js --env firefox ",
"nightwatch_local_recorder_firefox": "nightwatch ./test-browser/tests/recorder.js --config nightwatch.js --env firefox ",
"nightwatch_local_transactionExecution_firefox": "nightwatch ./test-browser/tests/transactionExecution.js --config nightwatch.js --env firefox ",
"nightwatch_local_staticAnalysis_firefox": "nightwatch ./test-browser/tests/staticAnalysis.js --config nightwatch.js --env firefox ",
"nightwatch_local_signingMessage_firefox": "nightwatch ./test-browser/tests/signingMessage.js --config nightwatch.js --env firefox ",
"nightwatch_local_specialFunctions_firefox": "nightwatch ./test-browser/tests/specialFunctions.js --config nightwatch.js --env firefox ",
"nightwatch_local_solidityUnitTests_firefox": "nightwatch ./test-browser/tests/solidityUnittests.js --config nightwatch.js --env firefox ",
"nightwatch_local_remixd_firefox": "nightwatch ./test-browser/tests/remixd.js --config nightwatch.js --env firefox ",
"nightwatch_local_terminal_firefox": "nightwatch ./test-browser/tests/terminal.js --config nightwatch.js --env firefox ",
"nightwatch_local_gist_firefox": "nightwatch ./test-browser/tests/gist.js --config nightwatch.js --env firefox ",
"nightwatch_local_workspace_firefox": "nightwatch ./test-browser/tests/workspace.js --config nightwatch.js --env firefox ",
"nightwatch_local_defaultLayout_firefox": "nightwatch ./test-browser/tests/defaultLayout.js --config nightwatch.js --env firefox ",
"nightwatch_local_pluginManager_firefox": "nightwatch ./test-browser/tests/pluginManager.js --config nightwatch.js --env firefox ",
"nightwatch_local_publishContract_firefox": "nightwatch ./test-browser/tests/publishContract.js --config nightwatch.js --env firefox ",
"nightwatch_local_generalSettings_firefox": "nightwatch ./test-browser/tests/generalSettings.js --config nightwatch.js --env firefox ",
"nightwatch_local_fileExplorer_firefox": "nightwatch ./test-browser/tests/fileExplorer.js --config nightwatch.js --env firefox ",
"nightwatch_local_debugger_firefox": "nightwatch ./test-browser/tests/debugger.js --config nightwatch.js --env firefox ",
"nightwatch_local_editor_firefox": "nightwatch ./test-browser/tests/editor.js --config nightwatch.js --env firefox ",
"nightwatch_local_runAndDeploy": "nightwatch ./test-browser/tests/runAndDeploy.js --config nightwatch.js --env chrome-runAndDeploy ",
"onchange": "onchange build/app.js -- npm-run-all lint",
"prepublish": "mkdirp build; npm-run-all -ls downloadsolc_root build",

Loading…
Cancel
Save