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

[Merged by Bors] - Add cargo vendor test #2076

Closed
wants to merge 2 commits into from

Conversation

bachp
Copy link
Contributor

@bachp bachp commented Dec 10, 2020

Issue Addressed

This is related to #1926 and #1712.

Proposed Changes

This PR adds a test that make sure that the used dependencies can be vendored.

Being able to vendor the dependencies is important for archival and repdroducibility purpose.
It's also required to package lighthouse for some Linux distributions. Specifically NixOS and Yocto.

Additional Info

This PR only adds the test, it doesn't clean up the dependencies yet. That's why it is in draft.

@CLAassistant
Copy link

CLAassistant commented Dec 10, 2020

CLA assistant check
All committers have signed the CLA.

@blacktemplar
Copy link
Contributor

Thanks for the PR. As you already wrote, before we can merge this PR we need to fix the dependencies. Unfortunately we are blocked on some of those dependencies for the moment, see this issue: #1712. Hopefully we can resolve those as soon as possible and add in this test.

@paulhauner paulhauner self-assigned this Jan 19, 2021
bors bot pushed a commit that referenced this pull request Feb 10, 2021
## Issue Addressed

resolves #2129
resolves #2099 
addresses some of #1712
unblocks #2076
unblocks #2153 

## Proposed Changes

- Updates all the dependencies mentioned in #2129, except for web3. They haven't merged their tokio 1.0 update because they are waiting on some dependencies of their own. Since we only use web3 in tests, I think updating it in a separate issue is fine. If they are able to merge soon though, I can update in this PR. 

- Updates `tokio_util` to 0.6.2 and `bytes` to 1.0.1.

- We haven't made a discv5 release since merging tokio 1.0 updates so I'm using a commit rather than release atm. **Edit:** I think we should merge an update of `tokio_util` to 0.6.2 into discv5 before this release because it has panic fixes in `DelayQueue`  --> PR in discv5:  sigp/discv5#58

## Additional Info

tokio 1.0 changes that required some changes in lighthouse:

- `interval.next().await.is_some()` -> `interval.tick().await`
- `sleep` future is now `!Unpin` -> tokio-rs/tokio#3028
- `try_recv` has been temporarily removed from `mpsc` -> tokio-rs/tokio#3350
- stream features have moved to `tokio-stream` and `broadcast::Receiver::into_stream()` has been temporarily removed -> `tokio-rs/tokio#2870
- I've copied over the `BroadcastStream` wrapper from this PR, but can update to use `tokio-stream` once it's merged tokio-rs/tokio#3384

Co-authored-by: realbigsean <[email protected]>
@bachp bachp force-pushed the cargo-vendor-test branch 3 times, most recently from 86d429e to e1c1971 Compare February 16, 2021 22:14
@bachp
Copy link
Contributor Author

bachp commented Feb 23, 2021

Looks like this is currently blocked by rust-lang/cargo#8443. Which prevents cargo vendor from running in Github Actions.

@paulhauner
Copy link
Member

Looks like this is currently blocked by rust-lang/cargo#8443. Which prevents cargo vendor from running in Github Actions.

Perhaps we can work around this by just re-defining $HOME to the target of the symlink? If there's no appetite for others to do this I might get around to it at somepoint :)

@bachp bachp force-pushed the cargo-vendor-test branch from 471c771 to 273b7bf Compare June 5, 2021 20:51
@bachp bachp force-pushed the cargo-vendor-test branch from 273b7bf to ab92d16 Compare June 16, 2021 11:41
@bachp bachp force-pushed the cargo-vendor-test branch from 732f934 to ab9cab2 Compare October 26, 2021 14:10
@bachp
Copy link
Contributor Author

bachp commented Oct 26, 2021

With the workaround of rust-lang/cargo#8443 (comment) the job is finally working, but there is an issue again that multistream-select v0.10.4 is vendored from multiple sources.

bachp added 2 commits October 29, 2021 12:50
The test makes sure that the dependencies are in a state that can be vendored
for archival and reproducibility purpose.

cargo vendor is also used by several distros (e.g NixOS and Yocto) to archive
the sources for the packages to be built.
@bachp bachp force-pushed the cargo-vendor-test branch from ab9cab2 to 5dd18be Compare October 29, 2021 10:50
@bachp
Copy link
Contributor Author

bachp commented Oct 29, 2021

In unstable the vendor issues are fixed. @paulhauner tests are now passing, so this is finally ready to be merged.

@bachp bachp marked this pull request as ready for review October 29, 2021 10:55
Copy link
Member

@paulhauner paulhauner left a comment

Choose a reason for hiding this comment

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

Ooh, how exciting! 🎉

Thanks for sticking with this one for the long run @bachp 🙏

bors r+

bors bot pushed a commit that referenced this pull request Nov 5, 2021
## Issue Addressed

This is related to #1926 and #1712.

## Proposed Changes

This PR adds a test that make sure that the used dependencies can be vendored.

Being able to vendor the dependencies is important for archival and repdroducibility purpose.
It's also required to package lighthouse for some Linux distributions. Specifically [NixOS](https://nixos.org/) and [Yocto](https://www.yoctoproject.org/).

## Additional Info

This PR only adds the test, it doesn't clean up the dependencies yet. That's why it is in draft.
@paulhauner paulhauner added ready-for-merge This PR is ready to merge. and removed blocked labels Nov 5, 2021
@bors bors bot changed the title Add cargo vendor test [Merged by Bors] - Add cargo vendor test Nov 5, 2021
@bors bors bot closed this Nov 5, 2021
@bachp bachp deleted the cargo-vendor-test branch November 5, 2021 09:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-for-merge This PR is ready to merge.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants