-
Notifications
You must be signed in to change notification settings - Fork 203
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
Add support for Apple ARM64 and Linux ARM64 #6013
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## rc/v1.7.0 #6013 +/- ##
==========================================
Coverage 80.17% 80.17%
==========================================
Files 751 752 +1
Lines 97895 97899 +4
==========================================
+ Hits 78487 78491 +4
Misses 14038 14038
Partials 5370 5370 ☔ View full report in Codecov by Sentry. |
34badde
Apple arm64 custom configs
…64, due to libwasmer not having the proper name set - with "install_name_tool").
.github/workflows/build_and_test.yml
Outdated
GOARCH=$(go env GOARCH) | ||
GOPATH=$(go env GOPATH) | ||
|
||
# "libwasmer_darwin_amd64.dylib" was built with an unfortunate identifier (in the past), so we need to fix it: |
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.
Unfortunate. Easily fixable with additional commits in all VM repositories (patching the legacy dylib).
VM_GO_VERSION=$(cat go.mod | grep mx-chain-vm-go | sort -n | tail -n -1| awk -F '/' '{print$3}'| sed 's/ /@/g') | ||
VM_GO_DIR=${GOPATH}/pkg/mod/github.com/multiversx/${VM_GO_VERSION} |
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.
Updated with respect to Sirius (VM 1.5).
# Test binaries in different current directories. | ||
cd ${BUILD_DIR} && ./node --version | ||
cd ${GITHUB_WORKSPACE} && ${BUILD_DIR}/node --version | ||
cd / && ${BUILD_DIR}/node --version | ||
|
||
cd ${BUILD_DIR} && ./seednode --version | ||
cd ${GITHUB_WORKSPACE} && ${BUILD_DIR}/seednode --version | ||
cd / && ${BUILD_DIR}/seednode --version |
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.
The binaries are downloadable & runnable anywhere. Of course, these binaries must not be used for real-world observers and validators.
- name: Smoke test | ||
run: | | ||
# Remove all downloaded Go packages, so that we can test the binary's independence from them (think of Wasmer libraries). | ||
sudo rm -rf ${GOPATH}/pkg/mod |
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.
Libraries should be near the binary. But the binary is independent from otherwise-placed-wasmer libraries.
@@ -905,6 +906,10 @@ func TestManagedPeersHolder_IsKeyValidator(t *testing.T) { | |||
} | |||
|
|||
func TestManagedPeersHolder_GetNextPeerAuthenticationTime(t *testing.T) { | |||
if runtime.GOOS == "darwin" { |
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.
Interesting, should be further investigated.
16504d4
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.
Normal allin test: v1.6.15-dev-config-eb2e06c06d -> apple-arm64-16504d47d3
--- Specific errors ---
block hash does not match 496
wrong nonce in block 256
miniblocks does not match 0
num miniblocks does not match 0
miniblock hash does not match 0
block bodies does not match 0
receipts hash missmatch 0
/------/
--- Statistics ---
Nr. of all ERRORS: 0
Nr. of all WARNS: 388
Nr. of new ERRORS: 0
Nr. of new WARNS: 116
Nr. of PANICS: 0
/------/
--- ERRORS ---
/------/
--- WARNINGS ---
/------/
Reasoning behind the pull request
Proposed changes
Limitations
--disable-consensus-watchdog
. Otherwise, at times, the watchdog will raise a fatal error. Investigation will follow on this topic.Testing procedure
Pre-requisites
Based on the Contributing Guidelines the PR author and the reviewers must check the following requirements are met:
feat
branch created?feat
branch merging, do all satellite projects have a proper tag insidego.mod
?