Skip to content
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

Fix node db cache and e2e workflow improvements #3031

Merged
merged 6 commits into from
Nov 23, 2021

Conversation

piotr-iohk
Copy link
Contributor

@piotr-iohk piotr-iohk commented Nov 22, 2021

  • 5cccf82
    Attempt to fix node db caching

  • 5356643
    More granular steps in e2e workflows

  • 087f7a5
    Use Linux workflow cache if other not available

  • 0d752a0
    Docker workflow adjustments

  • e2b2ef5
    update README

Comments

Improvements made here and in #3027 bring significant improvements in speed and reliability of e2e tests. Tests on MacOS and Linux used to take 2-3h overall and on Windows even up to 6h (which often led to exceeding GH actions timeout). This was mainly due to incorrect use of node db caching which caused a lot of time spend of syncing node db against testnet. Improved execution times are as follows:

Linux MacOS Windows Docker
1h 1h 6m 1h 31m 1h

Due to node db caching, which is happening properly now on every run, node db syncing time is cut from few hours to few minutes 🎉. Majority of the remaining test suite time is still spend on syncing fixture wallets, but it is good test on it's own so there seems to be no need for further improvements. Execution times seem to be satisfactory for nightly e2e tests and also in the need for an ad-hoc e2e run.

Issue Number

ADP-1196

@piotr-iohk piotr-iohk self-assigned this Nov 22, 2021
@piotr-iohk piotr-iohk force-pushed the piotr/adp-1196/node-db-cache branch from 6a7b133 to 0d752a0 Compare November 23, 2021 08:26
Copy link
Contributor

@rvl rvl left a comment

Choose a reason for hiding this comment

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

👍

# $ rake datetime
# 20211122-94332
task :datetime do
puts Time.now.strftime('%Y%m%d-%-k%M%S')
Copy link
Contributor

Choose a reason for hiding this comment

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

It should be HHMMSS, right?

Suggested change
puts Time.now.strftime('%Y%m%d-%-k%M%S')
puts Time.now.strftime('%Y%m%d-%H%M%S')

key: ${{ runner.os }}-node-cache-v2-${{ env.NETWORK }}
key: node-db-${{ runner.os }}-${{ env.NETWORK }}-${{ steps.date-time.outputs.value }}
restore-keys: |
node-db-${{ runner.os }}-${{ env.NETWORK }}-
Copy link
Contributor

Choose a reason for hiding this comment

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

Good idea

@piotr-iohk
Copy link
Contributor Author

bors r+

iohk-bors bot added a commit that referenced this pull request Nov 23, 2021
3031: Fix node db cache and e2e workflow improvements r=piotr-iohk a=piotr-iohk

- 5cccf82
  Attempt to fix node db caching
  
- 5356643
  More granular steps in e2e workflows
  
- 087f7a5
  Use Linux workflow cache if other not available
  
- 0d752a0
  Docker workflow adjustments
  
- e2b2ef5
  update README

### Comments

Improvements made here and in #3027 bring significant improvements in speed and reliability of e2e tests. Tests on MacOS and Linux used to take 2-3h overall and on Windows even up to 6h (which often led to exceeding GH actions timeout). This was mainly due to incorrect use of node db caching which caused a lot of time spend of syncing node db against testnet. Improved execution times are as follows:

|  Linux|MacOS|Windows|Docker|
|--|--|--|--|
|[1h](https://github.com/input-output-hk/cardano-wallet/actions/runs/1490250065)|[1h 6m](https://github.com/input-output-hk/cardano-wallet/actions/runs/1490370180)|[1h 31m](https://github.com/input-output-hk/cardano-wallet/actions/runs/1490442118)|[1h](https://github.com/input-output-hk/cardano-wallet/actions/runs/1493877513)|

Due to node db caching, which is happening properly now on every run, node db syncing time is cut from few hours to few minutes 🎉. Majority of the remaining test suite time is still spend on syncing fixture wallets, but it is good test on it's own so there seems to be no need for further improvements. Execution times seem to be satisfactory for nightly e2e tests and also in the need for an ad-hoc e2e run. 

### Issue Number

ADP-1196


3032: Remove redundant imports and constraints. r=Anviking a=jonathanknowles

## Issue Number

None

## Summary

This PR removes some redundant imports and constraints.

I collected these patches while working on other things. It seemed sensible to put them in their own PR.

Co-authored-by: Piotr Stachyra <[email protected]>
Co-authored-by: Jonathan Knowles <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Nov 23, 2021

This PR was included in a batch that timed out, it will be automatically retried

@piotr-iohk piotr-iohk force-pushed the piotr/adp-1196/node-db-cache branch from be4bed8 to 7f3cdce Compare November 23, 2021 16:40
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Nov 23, 2021

Canceled.

@piotr-iohk piotr-iohk merged commit ba3effe into master Nov 23, 2021
@piotr-iohk piotr-iohk deleted the piotr/adp-1196/node-db-cache branch November 23, 2021 19:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants