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

Support arm cross compile #2923

Merged

Conversation

bricerisingalgorand
Copy link
Contributor

Summary

This PR is to take advantage of arm64's ability to run arm32 binaries. Using this, we are able to build for arm32 on arm64 hosts by running containers with arm32 OS's on them. This is much faster than our qemu set up because it doesn't rely on emulations. The binaries produced with this process work and the arm64/arm32 build times are as fast as the intel builds, reducing our build time by about an hour.

Test Plan

I ran our build pipeline against this branch using arm64 hosts and tested the produced artifacts using emulated cpu's to make sure they still work on their native architectures.

@tsachiherman
Copy link
Contributor

did you test the resulting binaries on Raspberry PI ?

@bricerisingalgorand
Copy link
Contributor Author

did you test the resulting binaries on Raspberry PI ?

I want to but I don't have an armv6 raspberry pi. Do you happen to have one handy?

@tsachiherman
Copy link
Contributor

did you test the resulting binaries on Raspberry PI ?

I want to but I don't have an armv6 raspberry pi. Do you happen to have one handy?

I have one in the office - could you send me the produced binary and I'll give it a try tomorrow morning ?

@codecov-commenter
Copy link

codecov-commenter commented Sep 20, 2021

Codecov Report

Merging #2923 (ba4e1ad) into master (b8b7281) will decrease coverage by 0.01%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2923      +/-   ##
==========================================
- Coverage   47.33%   47.32%   -0.02%     
==========================================
  Files         351      351              
  Lines       56523    56523              
==========================================
- Hits        26754    26748       -6     
- Misses      26760    26766       +6     
  Partials     3009     3009              
Impacted Files Coverage Δ
crypto/merkletrie/trie.go 66.42% <0.00%> (-2.19%) ⬇️
crypto/merkletrie/node.go 91.62% <0.00%> (-1.87%) ⬇️
network/requestTracker.go 70.25% <0.00%> (-0.87%) ⬇️
network/wsPeer.go 74.37% <0.00%> (-0.28%) ⬇️
ledger/acctupdates.go 62.46% <0.00%> (+0.33%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b8b7281...ba4e1ad. Read the comment docs.

Copy link
Contributor

@algojack algojack left a comment

Choose a reason for hiding this comment

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

Assuming test on raspberry pi goes well, lgtm

Copy link
Contributor

@tsachiherman tsachiherman left a comment

Choose a reason for hiding this comment

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

I've tested this on raspberry pi 2, and it's working just fine.

@tsachiherman tsachiherman merged commit e9900a3 into algorand:master Sep 21, 2021
@onetechnical
Copy link
Contributor

Successfully tested on raspberry pi 4 as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants