Skip to content

Commit ac9f041

Browse files
author
Shawn Rader
committed
Add aarch64 Linux build, test, and publish to CI
- Rename circleci artifact tarbal names to differentiate x86_64 and aarch64 - Add circleci build, test, and publish for aarch64 - Add arch to tarball name in install-filcrypto - update install-filcrypto script to differentiate Linux x86_64 and aarch64 typo
1 parent a6558cb commit ac9f041

File tree

2 files changed

+35
-6
lines changed

2 files changed

+35
-6
lines changed

.circleci/config.yml

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,20 @@ jobs:
3030
- run:
3131
command: make go-lint
3232

33+
build_and_test_aarch64_linux_cgo_bindings:
34+
machine:
35+
image: ubuntu-2004:current
36+
resource_class: arm.large
37+
working_directory: ~/go/src/github.com/filecoin-project/filecoin-ffi
38+
steps:
39+
- configure_environment_variables
40+
- prepare
41+
- build_project
42+
- restore_parameter_cache
43+
- obtain_filecoin_parameters
44+
- save_parameter_cache
45+
- run: cd rust && rustup target add wasm32-unknown-unknown
46+
3347
build_and_test_linux_cgo_bindings:
3448
parameters:
3549
run_leak_detector:
@@ -68,12 +82,20 @@ jobs:
6882
- run: cd rust && cargo install cargo-lipo
6983
- build_project
7084
- compile_tests
71-
publish_linux_staticlib:
85+
publish_linux_x86_64_staticlib:
7286
executor: golang
7387
steps:
7488
- configure_environment_variables
7589
- prepare
7690
- publish_release
91+
publish_linux_aarch64_staticlib:
92+
machine:
93+
image: ubuntu-2004:current
94+
resource_class: arm.large
95+
steps:
96+
- configure_environment_variables
97+
- prepare
98+
- publish_release
7799
publish_darwin_staticlib:
78100
macos:
79101
xcode: "12.5.1"
@@ -167,7 +189,9 @@ workflows:
167189
- go_lint
168190
- build_and_test_linux_cgo_bindings:
169191
run_leak_detector: false
170-
- publish_linux_staticlib
192+
- build_and_test_aarch64_linux_cgo_bindings
193+
- publish_linux_x86_64_staticlib
194+
- publish_linux_aarch64_staticlib
171195
- build_darwin_cgo_bindings
172196
- publish_darwin_staticlib
173197

@@ -221,8 +245,8 @@ commands:
221245
command: |
222246
cd rust
223247
224-
TARBALL_PATH="/tmp/${CIRCLE_PROJECT_REPONAME}-$(uname)-standard.tar.gz"
225-
RELEASE_NAME="${CIRCLE_PROJECT_REPONAME}-$(uname)-standard"
248+
TARBALL_PATH="/tmp/${CIRCLE_PROJECT_REPONAME}-$(uname)-$(uname -m)-standard.tar.gz"
249+
RELEASE_NAME="${CIRCLE_PROJECT_REPONAME}-$(uname)-$(uname -m)-standard"
226250
227251
# Note: the blst dependency uses the portable configuration for maximum compatibility
228252
./scripts/build-release.sh filcrypto $(cat ./rust-toolchain) build --verbose --no-default-features --features multicore-sdr,opencl,blst-portable
@@ -233,7 +257,7 @@ commands:
233257
command: |
234258
cd rust
235259
236-
TARBALL_PATH="/tmp/${CIRCLE_PROJECT_REPONAME}-$(uname)-optimized.tar.gz"
260+
TARBALL_PATH="/tmp/${CIRCLE_PROJECT_REPONAME}-$(uname)-$(uname -m)-optimized.tar.gz"
237261
RUSTFLAGS="-C target-feature=$(cat rustc-target-features-optimized.json | jq -r '.[].rustc_target_feature' | tr '\n' ',')"
238262
239263
./scripts/build-release.sh filcrypto $(cat ./rust-toolchain) build --verbose --no-default-features --features multicore-sdr,opencl

install-filcrypto

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,12 @@ download_release_tarball() {
9292
# names are constructed. Marginally less-bad would be to require that this
9393
# function's caller provide the release name.
9494
#
95-
local __release_name="${__repo_name}-$(uname)-${release_flag_name}"
95+
if [ "$(uname -s)" = "Darwin" ]; then
96+
# For MacOS a universal library is used so naming convention is different
97+
local __release_name="${__repo_name}-$(uname)-${release_flag_name}"
98+
else
99+
local __release_name="${__repo_name}-$(uname)-$(uname -m)-${release_flag_name}"
100+
fi
96101

97102
(>&2 echo "[download_release_tarball] acquiring release @ ${__release_tag}")
98103

0 commit comments

Comments
 (0)