-
Notifications
You must be signed in to change notification settings - Fork 219
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
feat: build arm64 binaries from json matrix #4342
feat: build arm64 binaries from json matrix #4342
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks ok. Need to resolve conflicts
"target": "x86_64-pc-windows-msvc", | ||
"cross": false, | ||
"target_cpu": "x86-64", | ||
"features": "safe" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think windows doesn't need safe... but could be wrong
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CPU target set, if the windows binary is run on older hardware, I think we see a illegal cpu instruction
. We could really use the matrix build and target a faster CPU instruction set like avx2, but doubling up the builds might not add value?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we generally only target Haswell and above. Anything older should compile from source.
I think we only use safe on macos because it used to fail
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
target_cpu
and features
could be matrix build in future, but thinking we get the base in and then we can extend as needed or as requested?
Also not sure what features we want to enable in a build, but can be done per matrix set.
Source: "..\target\release\tari_console_wallet.exe"; DestDir: "{app}\runtime"; Flags: ignoreversion | ||
Source: "..\target\release\tari_miner.exe"; DestDir: "{app}\runtime"; Flags: ignoreversion | ||
Source: "..\target\release\tari_merge_mining_proxy.exe"; DestDir: "{app}\runtime"; Flags: ignoreversion | ||
Source: "D:\a\tari\tari\dist\tari_base_node.exe"; DestDir: "{app}\runtime"; Flags: ignoreversion |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
woops
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Referring to the D:
hard codec location of the target build? I have no idea how to pass a variable into Inno ISS scripts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a default and command line override.
Also included tari_validator_node.exe to Windows package.
Description
Update supporting scripts to cross-compile build extra binaries for ARM64 OSX and Linux
Motivation and Context
Add ARM64 builds for OSX and Linux
How Has This Been Tested?
Build and run locally and in GHA from local fork