-
Notifications
You must be signed in to change notification settings - Fork 1.2k
optimize circleCI #2868
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
optimize circleCI #2868
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
| timeout: 2000 | ||
| }, (okVisible) => { | ||
| // @ts-ignore | ||
| if (okVisible.status === 0) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please add a comment explaining okVisible.status
| .sendKeys('*[data-id$="/blank"] .remixui_items', browser.Keys.ENTER) | ||
| .pause(2000) | ||
| .waitForElementVisible(`li[data-id="treeViewLitreeViewItem${name}"]`, 60000) | ||
| .isVisible({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same here to use .isVisible instead of waitForElementVisible
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think what the problem is that waitForElementVisible first determines the ID of the element and then polls it with isDplayed https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/WebElement.html#isDisplayed--
with an interval, and it seems that if React refreshes the page the nightwatch polling command actually retries to calls the protocol action with the wrong ID resulting in an error. isVisible directly uses the isDisplayed command without polling, it's just a direct webdriver command
| TESTFILES=$(node apps/remix-ide/ci/splice_tests.js $2 $3 | circleci tests split --split-by=timings) | ||
| for TESTFILE in $TESTFILES; do | ||
| npx nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js $TESTFILE --env=$1 || TEST_EXITCODE=1 | ||
| npx nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/${TESTFILE}.js --env=$1 || TEST_EXITCODE=1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please review if this change is required
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes it's required
| const fs = require('fs'); | ||
|
|
||
| let url = 'https://binaries.soliditylang.org/wasm/list.json' | ||
| let request = require('request'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
request has been deprecated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
now using axios
| </div> | ||
| </div> | ||
| <div className="px-4"> | ||
| {compilerLoadedVersion ? <span data-id='compilerLoadedVersion' data-version={compilerLoadedVersion}></span> : ''} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please check if it is required
package.json
Outdated
| "nightwatch_local_chrome": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js --env=chrome", | ||
| "nightwatch_local_ballot": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/ballot.test.js --env=chrome", | ||
| "nightwatch_local_ballot_0_4_11": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/ballot_0_4_11.test.js --env=chrome", | ||
| "nightwatch_local_ballot_0_4_11": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/ballot_0_4_14.test.js --env=chrome", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please update the name too with 0_4_14
pipe all tests into a single result: tests-passed. this means matrix can be upscaled or downscaled at will. when you need to isolate some tests. We will have to config github to just list that test as required.


each job still has paralel runs but theoretically of course you could have 20 jobs with little or no parallelism.

the app created hidden spans containing information about the loading status of the compiler, the editor, the types files etc this is used by e2e to check if the load has completed
shorten config file with paramater usage