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

Improve dependency installation #17

Open
1-21gigasats opened this issue May 14, 2024 · 3 comments
Open

Improve dependency installation #17

1-21gigasats opened this issue May 14, 2024 · 3 comments
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@1-21gigasats
Copy link
Collaborator

This is the feedback from the workshop with 10 diy jade installations from the weekend. All in all it worked pretty well. One participant had problems with installing the dependencies, as the script told him only one dependency to install per run so he had to run the script a lot of times to iterate over all. So improvements would be:

  • Add an apt command in the readme in the automated sections to install all dependencies at once
  • If the script detects that one dependency is missing, show the missing dependency together will an install command for all others or even better, test for all missing at once and show only these
  • Provide an even more noob friendly option for installation: I thought about a python app image which is reproducible build on github ci that contains python and esp-idf, jade, the scripts and all dependencies so that this works independently from the linux distribution / packages installed with just one command execution. With this one large binary file it should be even possible to do offline jade installations

What do you think about it?

@1-21gigasats 1-21gigasats added documentation Improvements or additions to documentation enhancement New feature or request labels May 14, 2024
@bitcoin-tools
Copy link
Owner

Agreed, this is a painpoint. And that offline flashing would be nice.

I like all three of those bullet points.

  • Yes, adding a command to the readme makes sense.
  • Checking for all of the missing dependencies and giving the user a tailored install command would he sweet.
  • This one is tricky, since so far we've avoided delivering any binaries. My biggest concern is that it would increase trust placed in GitHub. How do you minimize trust in this setup? Can the user build the same binary locally and get the same sha? Would the GitHub Actions build have the same sha every time it ran, and update only when we change the underlying code?

@bitcoin-tools
Copy link
Owner

Also, glad to see your workshop went well. Always good news when things go smoothly.

@1-21gigasats
Copy link
Collaborator Author

Thanks for your feedback. To bullet point 3 (delivering binaries):

Yes, if we really starting doing this the binaries need to be byte for byte reproducible, on github ci and local. The electrum guys are basically doing the same with their binaries and also let them sign by known 3rd parties (@Emzy and others) after they can build the exact same binary local.

Maybe we can accomplish the same. I will play around with it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants