-
Notifications
You must be signed in to change notification settings - Fork 261
chore: stop vendoring #6951
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
base: feat/bump-waku-go-bindings
Are you sure you want to change the base?
chore: stop vendoring #6951
Conversation
Jenkins BuildsClick to see older builds (48)
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## feat/bump-waku-go-bindings #6951 +/- ##
==============================================================
- Coverage 59.46% 59.40% -0.06%
==============================================================
Files 810 810
Lines 119476 119476
==============================================================
- Hits 71047 70979 -68
- Misses 41083 41131 +48
- Partials 7346 7366 +20
Flags with carried forward coverage won't be shown. Click here to find out more. |
bcc7833
to
485d724
Compare
@status-im/devops guys can you please assist me with |
06d4055
to
3564b77
Compare
ci: run lint on all base branch prs ci: reorder steps
dde9a6b
to
c61255e
Compare
Signed-off-by: Jakub Sokołowski <[email protected]>
Thank you for opening this pull request! We require pull request titles and commits to follow the Conventional Commits specification and it looks like your PR needs to be adjusted. Details:
|
The trick is actually that # The SRI hash of the vendored dependencies.
# If `vendorHash` is `null`, no dependencies are fetched and
# the build relies on the vendor folder within the source.
vendorHash ? throw (
if args ? vendorSha256 then
"buildGoModule: Expect vendorHash instead of vendorSha256"
else
"buildGoModule: vendorHash is missing"
), So from now on we need to specify a real hash. Which means it will have to be updated every time dependencies change. |
Thanks for fixing this.
@jakubgs is there any chance we can avoid this? It's gonna be quite an annoying procedure 😄 |
I know of no built-in way of doing this. The purpose of We'd have to write some kind of script to generate the hash for us, but it would have to be committed anyway by the devs. |
Caution
Blocked until resolved:
Description
Stop vendoring Go dependencies. Delete
vendor/
directory.Reasoning
As for today, vendoring dependencies in Go is more of a burden than real need.
Major Go projects like
go-ethereum
don't vendor.The only reason for vendoring is to have all dependencies on hands in case one of them is suddenly becomes unavailable
(deleted of removed from public). On the other hand, it makes the repo heavier and PRs less clear, which we believe is more important. This becomes more obvious with the usage of
go tool
(e.g. in PRs like #6933).nwaku
Currently approach with cloning
nwaku
repository doesn't work without vendoring, as it requiressudo
rights.This PR is currently based on a branch wherenwaku
is a submodule, but I am looking into better solutions right now.Currently the PR uses a
libwaku
included in thewaku-go-bindings
repo: waku-org/waku-go-bindings#92