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

Gitian - transparent build process - use for bitshares-core? #897

Closed
xeroc opened this issue May 9, 2018 · 16 comments
Closed

Gitian - transparent build process - use for bitshares-core? #897

xeroc opened this issue May 9, 2018 · 16 comments
Assignees
Labels
1b User Story The User Story details a requirement. It may reference a parent Epic. It may reference child Task(s) 2d Developing Status indicating currently designing and developing a solution 3c Enhancement Classification indicating a change to the functionality of the existing imlementation 4a Low Priority Priority indicating minimal impact to system/user -OR- an inexpensive workaround exists 6 Build Impact flag identifying the build process dev workflow

Comments

@xeroc
Copy link
Member

xeroc commented May 9, 2018

What: Obtain a trustworthy build of bitshares-core
Why: Ensure binary blob does what code provided and no malware is included
Who: People that ask for binaries but don't trust binaries in general :D

Would it make sense to look into
https://gitian.org/

@xeroc xeroc added 1b User Story The User Story details a requirement. It may reference a parent Epic. It may reference child Task(s) 2a Discussion Needed Prompt for team to discuss at next stand up. 3c Enhancement Classification indicating a change to the functionality of the existing imlementation 4a Low Priority Priority indicating minimal impact to system/user -OR- an inexpensive workaround exists 6 Build Impact flag identifying the build process labels May 9, 2018
@abitmore
Copy link
Member

abitmore commented May 9, 2018

Makes sense.

By the way, I'd say, adding a lot of tags on a low priority issue makes noises thus may negatively impact productivity.

@pmconrad pmconrad self-assigned this May 30, 2019
@pmconrad pmconrad added 2d Developing Status indicating currently designing and developing a solution and removed 2a Discussion Needed Prompt for team to discuss at next stand up. labels May 30, 2019
@pmconrad
Copy link
Contributor

pmconrad commented May 31, 2019

I'd like someone to sanity check this please: https://github.com/pmconrad/bitshares-gitian @xeroc @abitmore @jmjatlanta @oxarbitrage

  • Is the README sufficient to get you started?
  • Is the build in fact reproducible by you?
  • Can the binary be used on your system? (witness_node works for me despite ldd complaining about a missing libcurl. I see the same complaint for our current official binary download.)
  • Does it work if you use something else than Docker (that's what I used)? Does that result in the same binary as well?

Bitcoin and Dash wallet both use this not only for linux builds but also for Windows (via mingw) and OSX (using an apple SDK). Will try windows build next.

Future plan would be to also include the light wallet as a separate target. If we decided that this is the way to go we can move the repo over into the bitshares org.

@abitmore
Copy link
Member

abitmore commented Jun 1, 2019

Also pinging @nathanhourt @christophersanborn @sschiessl-bcp @ryanRfox

@oxarbitrage
Copy link
Member

Good stuff, works great in Linux Mint 19(Ubuntu 18.04), thank you @pmconrad

  • In regards to the README and if i was able to do it fast i had a few issues installing and configuring docker but after that it went pretty fast. I had submitted a few pull requests that i hope will allow users go a bit quicker than i did.

  • The binary worked just fine and no ldd complaint i was able to see(probably because i have libcurl installed?)

  • Didn't tested under other than Docker yet.

Added my signature.

I dont know other options to do the same but this worked for me. I agree on moving into the bitshares organization.

@pmconrad
Copy link
Contributor

pmconrad commented Jun 2, 2019

https://github.com/pmconrad/bitshares-gitian/pull/5#issuecomment-498043396

My thinking was that the "signers" directory should contain only the pubkeys of regulars (like core team members), but we would accept signatures from anyone (provided their pubkey is available via keyserver).
Opinions?

@pmconrad
Copy link
Contributor

pmconrad commented Jun 2, 2019

Btw, we should hold a key signing party when we meet next.
With some emphasis on "party" I hope. :-)

@sschiessl-bcp
Copy link

I've never built core and I probably won't if I don't really have to :) I will leave this to you guys

@pmconrad
Copy link
Contributor

pmconrad commented Jun 4, 2019

@sschiessl-bcp this could (and IMO should!) also be used for bitshares-ui builds.

@xeroc
Copy link
Member Author

xeroc commented Jun 24, 2019

bitshares-core was built successfully. The report says:

42f0bd8f21eb18c09d0d64b87da12c560de67d0cdfc2017115e89bc24aa46c90  bitshares-core-3.1.0-linux-amd64-bin.tar.bz2
3346354f4ab8156e226ba9755984dd7e39377fa800b0633c403487a0fe68ed1d  bithares-core-linux-res.yml

@pmconrad
Copy link
Contributor

Hm, can you post your vendor/gitian-builder/result/bithares-core-linux-res.yml?

@xeroc
Copy link
Member Author

xeroc commented Jun 25, 2019

Hm, can you post your vendor/gitian-builder/result/bithares-core-linux-res.yml?

https://gist.github.com/a7b77dbb049dc8eec30326565b41d43d

@pmconrad
Copy link
Contributor

Thanks. Apparently your build used a slightly newer toolchain, which might explain the resulting difference. Will try to find out how bitcoin handles that problem.

(What's a bit hare anyway? Argh!)

@pmconrad
Copy link
Contributor

The difference could also be due to a different build environment. Will try to improve resilience.

@pmconrad
Copy link
Contributor

@xeroc made some updates in https://github.com/pmconrad/bitshares-gitian , please try again if you find the time

@nathanielhourt
Copy link
Contributor

nathanielhourt commented Jun 26, 2019

@xeroc made some updates in https://github.com/pmconrad/bitshares-gitian , please try again if you find the time

Oh, cool, it works for me now :)

@pmconrad
Copy link
Contributor

pmconrad commented Sep 2, 2019

Move bitshares-gitian repo to bitshares organization: https://github.com/bitshares/bitshares-gitian
Will be used starting with 3.3.0 release.

@pmconrad pmconrad closed this as completed Sep 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1b User Story The User Story details a requirement. It may reference a parent Epic. It may reference child Task(s) 2d Developing Status indicating currently designing and developing a solution 3c Enhancement Classification indicating a change to the functionality of the existing imlementation 4a Low Priority Priority indicating minimal impact to system/user -OR- an inexpensive workaround exists 6 Build Impact flag identifying the build process dev workflow
Projects
None yet
Development

No branches or pull requests

6 participants