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

Chore: upgrade dependencies #275

Closed
wants to merge 124 commits into from
Closed

Chore: upgrade dependencies #275

wants to merge 124 commits into from

Conversation

ff137
Copy link
Contributor

@ff137 ff137 commented Aug 11, 2023

Going through changelogs of updated dependencies doesn't indicate any potential breaking changes, but it's hard to know if this repo has no tests.

It's primarily rlp which has gone from 0.6.0 to 3.0.0, which may require some refactoring. Everything else should remain the same

Note: indy_vdr is probably due for another release, as there are many changes on main. Last release was Jan 2022

WadeBarnes and others added 30 commits August 26, 2021 11:12
- Add support for restoring an archive to a named volume.
- Add support for mounting a named volume into a `analysis` instance of the `von-network-base` image.
- Add the `sst_dump` tool to the bin folder to support analysis of RocksDB database (`*.sst`) files.
- Update `read_ledger` to the latest version from `indy-node`.

Signed-off-by: Wade Barnes <[email protected]>
All of the updates are contained in the `bcgovimages/von-image:node-1.12-4` base image.
Changes include updates to fix a crashing issue on node startup with large ledger sizes.

Signed-off-by: Wade Barnes <[email protected]>
Add support for backup and restore.
Upgrade to indy-node 1.12.4 and add ledger debug support
- Fix for build issue when the sst_dump binary is included at the `von-network` level.
- sst_dump is now included in the `bcgovimages/von-image:node-1.12-4` image.

Signed-off-by: Wade Barnes <[email protected]>
Move sst_dump into the bcgovimages/von-image:node-1.12-4 base image
- Updates the syntax for setting logging levels and binding volumes.
- resolves #161

Signed-off-by: Wade Barnes <[email protected]>
Fixes for the recent version(s) of docker compose
- Dynamically detect the version of docker compose and adjust the calling syntax appropriately.
- resolves #170

Signed-off-by: Wade Barnes <[email protected]>
Add support for existing and new docker compose syntax
- A few explicit calls to docker compose were missed in the previous commit.

Signed-off-by: Wade Barnes <[email protected]>
Update the remaining direct calls to docker compose
Fix 'command not found' errors reported by ./manage -h
Add documentation and examples for the indy-cli
Signed-off-by: Wade Barnes <[email protected]>
Add a security statement regarding seeds and keys.
Signed-off-by: Wade Barnes <[email protected]>
- Add the external (downloaded) script to the gitignore file.

Signed-off-by: Wade Barnes <[email protected]>
Add generate genesis files command.
- Networking changes introduced in Docker 4.1.x and forward on Windows and MAC stop the direct use of the internal docker host IP returned by the `docker run --rm --net=host eclipse/che-ip` process.  On Windows and MAC `host.docker.internal` needs to be used for internal connections between containers.

Signed-off-by: Wade Barnes <[email protected]>
Signed-off-by: Wade Barnes <[email protected]>
Signed-off-by: Wade Barnes <[email protected]>
Add support for changes to internal Docker networking.
- This is an update to the previous commit to update the support for Docker networking.  The `getDockerHost` has been pulled out and placed in a central location where it can be updated as needed rather than having to update dozens of scripts the next time there is a change.

Signed-off-by: Wade Barnes <[email protected]>
WadeBarnes and others added 6 commits December 8, 2023 13:16
Signed-off-by: Wade Barnes <[email protected]>
Refactor how MAC OS options are applied.
- Affecting MAC and Linux

Signed-off-by: Wade Barnes <[email protected]>
@esune
Copy link
Member

esune commented Feb 9, 2024

@ff137 any chance you can follow-up on this and see if we can get the build/rebuild working again?

@ff137
Copy link
Contributor Author

ff137 commented Feb 9, 2024

@esune will do! The main blocker for me was not having tests to know if the dependency upgrades have broken anything. I remember when I made this, reviewed the changelogs for major upgrades and didn't indicate anything should break. But you never know without tests!

So is the plan to just merge the upgrades, test the build manually, and revert if anything broke? I'll gladly get it up to date again, but just don't want to silently break something 🙃😄

@WadeBarnes
Copy link
Member

I can run some tests on it once everything is building.

@ff137
Copy link
Contributor Author

ff137 commented Feb 9, 2024

@WadeBarnes can those tests be written in a yaml file for an automated GitHub workflow? If it's simple steps, GPT can translate it in no time.

@WadeBarnes
Copy link
Member

Manual testing unfortunately.

@ff137
Copy link
Contributor Author

ff137 commented Feb 9, 2024

What, how? Surely any manual steps can be automated. Because how is a codebase maintainable without automated tests?

I'd happily write the workflow if I knew anything about the functionality that ought to be tested

@ff137
Copy link
Contributor Author

ff137 commented Feb 10, 2024

@esune @WadeBarnes I've rebased this PR, with latest dependency upgrades (incl for indy_vdr)

The reason that previously No matching distribution found for aiohttp-jinja2~=1.5.1, is because the base image being used in the docker file is running python 3.6.13 ... now, even 3.7 is end-of-life since mid 2023. So I included a manual installation of python 3.8 in the dockerfile. It may be worth updating the base image include a newer python version instead.

Upgrading to 3.10 should probably be the way to go ... 3.11/3.12 may have some breaking changes, but I guess 3.10 would work fine and then we're good til 2026!

@WadeBarnes
Copy link
Member

WadeBarnes commented Feb 12, 2024

What, how? Surely any manual steps can be automated. Because how is a codebase maintainable without automated tests?

I'd happily write the workflow if I knew anything about the functionality that ought to be tested

The updates you've made are related to the ledger browser functionality:

  • Serving out the ledger browser interface.
  • Monitoring the nodes to display validator status.
  • Providing the ability to write DIDs to the ledger
  • Caching and parsing the ledger transactions
  • Providing the ledger browser search capabilities.

Assistance in adding tests would be greatly appreciated.

@WadeBarnes
Copy link
Member

WadeBarnes commented Feb 12, 2024

@esune @WadeBarnes I've rebased this PR, with latest dependency upgrades (incl for indy_vdr)

The reason that previously No matching distribution found for aiohttp-jinja2~=1.5.1, is because the base image being used in the docker file is running python 3.6.13 ... now, even 3.7 is end-of-life since mid 2023. So I included a manual installation of python 3.8 in the dockerfile. It may be worth updating the base image include a newer python version instead.

Upgrading to 3.10 should probably be the way to go ... 3.11/3.12 may have some breaking changes, but I guess 3.10 would work fine and then we're good til 2026!

Due to the fact the all of von-network's containers are built off the network's node image, updating python has the potential of impacting operation of the nodes.

Ultimately I'd like to separate the images (webserver, client, and node) so they can evolve independently of each other. I'd also like to switch over to using a more pure image for the node, similar to (if not) the one in hyperledger/indy-node-container.

@ff137 ff137 closed this by deleting the head repository May 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.