Skip to content
This repository was archived by the owner on Nov 6, 2020. It is now read-only.

Tests parallelized#10452

Merged
TriplEight merged 38 commits into
masterfrom
tests_splitting
Mar 11, 2019
Merged

Tests parallelized#10452
TriplEight merged 38 commits into
masterfrom
tests_splitting

Conversation

@TriplEight
Copy link
Copy Markdown
Collaborator

@TriplEight TriplEight commented Mar 6, 2019

The example of new regular pipeline: https://gitlab.parity.io/parity/parity-ethereum/pipelines/32255

what's better

  • first stage now runs ~ 2 min
  • cargo test now runs ~ 16 min
  • whole pipeline takes ~ 19 min
  • now it's good to launch docker cache

what's changed

  • removed android-build from regular pipeline
  • split test.sh and test-all.sh by this whole lot of jobs
  • some stuff was optimized and simplified
  • nproc now counts threads for cargo test and cpp-test

reflections

  • it's really needed to overwrite the cpp-test
  • makes sense to think how to parallelize test.sh, maybe mark unit tests

@TriplEight TriplEight added the A3-inprogress ⏳ Pull request is in progress. No review needed at this stage. label Mar 6, 2019
@TriplEight TriplEight self-assigned this Mar 6, 2019
@parity-cla-bot
Copy link
Copy Markdown

It looks like @TriplEight signed our Contributor License Agreement. 👍

Many thanks,

Parity Technologies CLA Bot

@TriplEight TriplEight changed the title WIP: tests splitted, phase 1 Tests parallelized Mar 6, 2019
@TriplEight TriplEight removed the A3-inprogress ⏳ Pull request is in progress. No review needed at this stage. label Mar 6, 2019
@General-Beck General-Beck added A0-pleasereview 🤓 Pull request needs code review. F4-tests 💻 Tests need fixing, improving or augmenting. M1-ci 🙉 Continuous integration. labels Mar 6, 2019
Comment thread .gitlab-ci.yml Outdated
Comment thread .gitlab-ci.yml Outdated
Comment thread .gitlab-ci.yml Outdated
Comment thread .gitlab-ci.yml Outdated
Comment thread .gitlab-ci.yml Outdated
Comment thread scripts/gitlab/test-cpp.sh
@soc1c soc1c added this to the 2.5 milestone Mar 7, 2019
@soc1c soc1c added B1-patch-beta 🕷🕷 B0-patch-stable 🕷 Pull request should also be back-ported to the stable branch. labels Mar 7, 2019
@TriplEight
Copy link
Copy Markdown
Collaborator Author

for now we are going to skip checking changed files, we are going to check them Gitlab way. But before that caching should be introduced.

Copy link
Copy Markdown
Collaborator Author

@TriplEight TriplEight left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right now CI is 10-30% faster

Comment thread .gitlab-ci.yml Outdated
Comment thread scripts/gitlab/test-cpp.sh
Comment thread accounts/ethkey/src/brain.rs Outdated
@TriplEight
Copy link
Copy Markdown
Collaborator Author

ready for the final review.

@gabreal gabreal self-requested a review March 11, 2019 10:05
Comment thread .gitlab-ci.yml
Comment thread .gitlab-ci.yml Outdated
Comment thread .gitlab-ci.yml Outdated
Comment thread .gitlab-ci.yml Outdated
Comment thread .gitlab-ci.yml Outdated
Comment thread scripts/gitlab/cargo-check.sh Outdated
Comment thread scripts/gitlab/test-cpp.sh
Comment thread scripts/gitlab/test-linux.sh
@gabreal
Copy link
Copy Markdown
Contributor

gabreal commented Mar 11, 2019

great job, pipeline looks way more detailed and clear now

Copy link
Copy Markdown
Contributor

@gabreal gabreal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

well, pls go ahead with your pr. In general it looks very nice. About the thread cound I'm still sceptical, and I'm also still curious about the gitlab yaml changes feature.

Comment thread .gitlab-ci.yml Outdated
Comment thread scripts/gitlab/rust-changes.sh
@TriplEight TriplEight merged commit 82a148a into master Mar 11, 2019
@soc1c soc1c deleted the tests_splitting branch March 12, 2019 10:57
soc1c pushed a commit that referenced this pull request Mar 13, 2019
* tests splitted, phase 1

* typo

* fix wrong launch commands

* typos

* rearrangements

* use `nproc` function for threads

* use nproc for threads

* let theads be auto, build-andriod no more in regular run

* split val chain and cargo check

* renamed some files

* wrong phase

* check rust files before test jobs

* lint error

* rust files modivied var

* test except changes

* add rust_changes except

* lint error

* fixes

* .gitlab-ci.yml can't be excluded

* pipeline shouldn't start

* pipeline must go

* pipeline must go 2

* pipeline must go 3

* pipeline must go 4

* pipeline must go 5

* pipeline must go 6

* pipeline must go 7

* pipeline must not go 1

* pipeline must go 8

* avoid skippng tests yet, reintroducing them after the caching

* test theory

* parallelized cargo check with combusting helicopters

* less uploads

* alias for cargo checks

* nice template
@soc1c soc1c mentioned this pull request Mar 13, 2019
6 tasks
soc1c pushed a commit that referenced this pull request Mar 13, 2019
* tests splitted, phase 1

* typo

* fix wrong launch commands

* typos

* rearrangements

* use `nproc` function for threads

* use nproc for threads

* let theads be auto, build-andriod no more in regular run

* split val chain and cargo check

* renamed some files

* wrong phase

* check rust files before test jobs

* lint error

* rust files modivied var

* test except changes

* add rust_changes except

* lint error

* fixes

* .gitlab-ci.yml can't be excluded

* pipeline shouldn't start

* pipeline must go

* pipeline must go 2

* pipeline must go 3

* pipeline must go 4

* pipeline must go 5

* pipeline must go 6

* pipeline must go 7

* pipeline must not go 1

* pipeline must go 8

* avoid skippng tests yet, reintroducing them after the caching

* test theory

* parallelized cargo check with combusting helicopters

* less uploads

* alias for cargo checks

* nice template
@soc1c soc1c mentioned this pull request Mar 13, 2019
7 tasks
soc1c added a commit that referenced this pull request Mar 19, 2019
* version: bump stable

* CI publish to aws (#10446)

* move publish aws from gitlab.yml to gitlab scripts

* gitlab.yml cleaning
move publish AWS to gitlab scripts
remove dependencies from android build

* Ensure static validator set changes are recognized (#10467)

* CI aws git checkout (#10451)

* Updating the CI system with the publication of releases and binary files on github

Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>

* move publish aws from gitlab.yml to gitlab scripts

Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>

* gitlab.yml cleaning
move publish AWS to gitlab scripts
remove dependencies from android build

Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>

* Revert "Updating the CI system with the publication of releases and binary files on github"

This reverts commit da87e06.

* remove no-git for aws

* microfix

* no need in no_git then

* Revert "CI aws git checkout (#10451)" (#10456)

* Revert "CI aws git checkout (#10451)"

This reverts commit 3e1d731.

* Update .gitlab-ci.yml

revert aws script with small fixes

* Delete publish-aws.sh

* Tests parallelized (#10452)

* tests splitted, phase 1

* typo

* fix wrong launch commands

* typos

* rearrangements

* use `nproc` function for threads

* use nproc for threads

* let theads be auto, build-andriod no more in regular run

* split val chain and cargo check

* renamed some files

* wrong phase

* check rust files before test jobs

* lint error

* rust files modivied var

* test except changes

* add rust_changes except

* lint error

* fixes

* .gitlab-ci.yml can't be excluded

* pipeline shouldn't start

* pipeline must go

* pipeline must go 2

* pipeline must go 3

* pipeline must go 4

* pipeline must go 5

* pipeline must go 6

* pipeline must go 7

* pipeline must not go 1

* pipeline must go 8

* avoid skippng tests yet, reintroducing them after the caching

* test theory

* parallelized cargo check with combusting helicopters

* less uploads

* alias for cargo checks

* nice template

* Fix `ci-skip-issue` name

* Fix build flag

* Remove ci-skip-tests flag for stable
soc1c added a commit that referenced this pull request Mar 19, 2019
* version: bump beta

* Implement parity_versionInfo & parity_setChain on LC; fix parity_setChain (#10312)

* Light client: implement parity_versionInfo RPC

* Light client: implement set_exit_handler & parity_setChain RPC

* parity_setChain RPC: return an error if failed (instead of `true`)

* Implement eth_subscribe('syncing') RPC for full node & light node

* Fix indentation

* Revert commit: Implement eth_subscribe('syncing')

* Revert change to Cr callback function

* CI publish to aws (#10446)

* move publish aws from gitlab.yml to gitlab scripts

* gitlab.yml cleaning
move publish AWS to gitlab scripts
remove dependencies from android build

* CI aws git checkout (#10451)

* Updating the CI system with the publication of releases and binary files on github

Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>

* move publish aws from gitlab.yml to gitlab scripts

Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>

* gitlab.yml cleaning
move publish AWS to gitlab scripts
remove dependencies from android build

Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>

* Revert "Updating the CI system with the publication of releases and binary files on github"

This reverts commit da87e06.

* remove no-git for aws

* microfix

* no need in no_git then

* Revert "CI aws git checkout (#10451)" (#10456)

* Revert "CI aws git checkout (#10451)"

This reverts commit 3e1d731.

* Update .gitlab-ci.yml

revert aws script with small fixes

* Delete publish-aws.sh

* Tests parallelized (#10452)

* tests splitted, phase 1

* typo

* fix wrong launch commands

* typos

* rearrangements

* use `nproc` function for threads

* use nproc for threads

* let theads be auto, build-andriod no more in regular run

* split val chain and cargo check

* renamed some files

* wrong phase

* check rust files before test jobs

* lint error

* rust files modivied var

* test except changes

* add rust_changes except

* lint error

* fixes

* .gitlab-ci.yml can't be excluded

* pipeline shouldn't start

* pipeline must go

* pipeline must go 2

* pipeline must go 3

* pipeline must go 4

* pipeline must go 5

* pipeline must go 6

* pipeline must go 7

* pipeline must not go 1

* pipeline must go 8

* avoid skippng tests yet, reintroducing them after the caching

* test theory

* parallelized cargo check with combusting helicopters

* less uploads

* alias for cargo checks

* nice template

* Ensure static validator set changes are recognized (#10467)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

A0-pleasereview 🤓 Pull request needs code review. B0-patch-stable 🕷 Pull request should also be back-ported to the stable branch. F4-tests 💻 Tests need fixing, improving or augmenting. M1-ci 🙉 Continuous integration.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants