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

[WIP] chore: ensure testnet launch fails if build fails #2268

Open
wants to merge 15 commits into
base: main
Choose a base branch
from

Conversation

joshuef
Copy link
Contributor

@joshuef joshuef commented Apr 19, 2023

I'm not sure this e2e setup is what we want atm. Could be nightly is sufficient, but I wanted to test the e2e ci runs for stability with these changes.

First run: e2e are complete before the unit tests, so doesn't look like there's significant drag there. If they are stable, I see no reason to have this only on a nightly run.

🤖 Generated by Copilot at 5744bee

Summary

🐛🚀🧪

This pull request adds network and e2e tests to the merge workflow, improves error handling and logging in the safenode package, and modifies the mdns configuration to speed up peer discovery. These changes aim to enhance the functionality, compatibility, and reliability of the safe_network project.

We fix the typos in the log module
We speed up the mdns discovery
We test the network and the e2e
We handle the errors in the testnet binary

Walkthrough

  • Add a new job to run e2e tests on different operating systems using safe and testnet binaries (link)
  • Add a new step to run network tests on the safenode package with a timeout (link)
  • Fix a typo in the module path for logging in the safenode crate (link)
  • Lower the mdns query interval to speed up peer discovery in the network module (link)
  • Assign and check the result of the cargo build command for the safenode binary in the testnet launcher (link, link)

@reviewpad
Copy link

reviewpad bot commented Apr 19, 2023

AI-Generated Summary: This pull request includes four patches:

  1. The first patch ensures that testnet launch will fail if the build fails, and adds log files to the .gitignore file.
  2. The second patch lowers the mdns query interval for client stability in the safenode network module.
  3. The third patch reverts a previous commit that disabled e2e tests from PR checks, and adds these tests back.
  4. The fourth patch reverts another previous commit that removed network tests, and reintroduces network tests in the workflow.

@reviewpad reviewpad bot requested a review from RolandSherwin April 19, 2023 03:25
@reviewpad reviewpad bot added medium Pull request is medium waiting-for-review labels Apr 19, 2023
@reviewpad
Copy link

reviewpad bot commented Apr 19, 2023

Reviewpad Report

‼️ Errors

  • Unconventional commit detected: 'Update README.md' (deac683)
  • Unconventional commit detected: 'Revert "ci: disable e2e tests from PR checks"

This reverts commit 0765b53.' (cbf6b14)

  • Unconventional commit detected: 'Revert "chore: also remove the network tests"

This reverts commit 70af6a5.' (66ebfcf)

  • Unconventional title detected: '[WIP] chore: ensure testnet launch fails if build fails' illegal '[' character in commit message type: col=00

⚠️ Warnings

  • Please link an issue to the pull request

@joshuef joshuef changed the title chore: ensure testnet launch fails if build fails [WIP] chore: ensure testnet launch fails if build fails Apr 19, 2023
dirvine and others added 15 commits April 19, 2023 08:30
- This is the final step in making a transfer valid in the network.
- Fees are paid to nodes.
- NB1: Some additional validation of responses is needed to make sure we
error if not enough nodes could handle the request.
- NB2: Nodes still need to store the rewards in their wallet, TBD.
- NB3: There are still some code reuse work to be done between
transfer online and offline files.
- This keeps the logic levels more consistent
- As client handling of transfers was already in protocol, it seems
more stringent to also keep the node handling of transfers there.
We dial optional peers on startup that will get added to our routing
table et al. This will cause our node to get booted by specifying a
bootstrap node address.
- Adds deposit operation.
- This makes the main fn less cluttered.
- This makes the main fn less cluttered.
- We didn't want a separate binary for this.
@reviewpad
Copy link

reviewpad bot commented Apr 19, 2023

AI-Generated Summary: This pull request includes numerous changes related to renaming and restructuring the protocol/transfers module into protocol/client_transfers and protocol/node_transfers. The main focus of these changes is to improve the handling of fees, expand the client transfer process, and enhance the node bootstrapping process. Other significant changes consist of updates to import paths, renaming variables, as well as refactoring and adding new functionality in several files.

These updates include:

  • The handling of fees and organization of the code has improved.
  • The node's bootstrapping process is enhanced by dialing initial peers.
  • Event handling for networking events has been improved.
  • More reliable testing coverage has been added, including network tests and end-to-end tests performed on different operating systems.
  • The safenode binary no longer uses the $peer argument and might be handling it differently now.

Overall, this pull request refines and extends the implementation of various aspects related to client transfers, node bootstrapping, and error handling, among others.

@reviewpad reviewpad bot added large Pull request is large and removed medium Pull request is medium labels Apr 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
large Pull request is large waiting-for-review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants