From 65ba2beabf1b51e43bbc52329be7d8ae617f8ceb Mon Sep 17 00:00:00 2001 From: nemo Date: Wed, 14 Apr 2021 15:38:00 -0400 Subject: [PATCH] feat: add arm builds as CI targets --- .circleci/config.yml | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 64d5538c99..ae863c6529 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -16,6 +16,10 @@ executors: image: ubuntu-1604-cuda-10.1:201909-23 working_directory: ~/gpuci resource_class: gpu.nvidia.medium + arm: + machine: + image: ubuntu-2004:202101-01 + resource_class: arm.medium setup-env: &setup-env FIL_PROOFS_PARAMETER_CACHE: "/tmp/filecoin-proof-parameters/" @@ -209,6 +213,40 @@ jobs: cargo +<< pipeline.parameters.nightly-toolchain >> -Zpackage-features test --all --verbose --no-default-features --features blst no_output_timeout: 30m + test_arm_no_gpu: + executor: arm + environment: *setup-env + steps: + - checkout + - attach_workspace: + at: "." + - restore_rustup_cache + - restore_parameter_cache + - run: + name: Install Rust + command: | + curl https://sh.rustup.rs -sSf | sh -s -- -y + - run: rustup install $(cat rust-toolchain) + - run: rustup default $(cat rust-toolchain) + - run: rustup install << pipeline.parameters.nightly-toolchain >> + - run: cargo update + - run: cargo fetch + - run: + name: Install required libraries + command: | + sudo apt-get update -y + sudo apt install -y libhwloc-dev + - run: + name: Test arm with no gpu (pairing) + command: | + cargo +<< pipeline.parameters.nightly-toolchain >> -Zpackage-features test --all --verbose --no-default-features --features pairing + no_output_timeout: 30m + - run: + name: Test arm with no gpu (blst) + command: | + cargo +<< pipeline.parameters.nightly-toolchain >> -Zpackage-features test --all --verbose --no-default-features --features blst + no_output_timeout: 30m + test_blst: executor: default @@ -578,6 +616,11 @@ workflows: - cargo_fetch - ensure_groth_parameters_and_keys_linux + - test_arm_no_gpu: + requires: + - cargo_fetch + - ensure_groth_parameters_and_keys_linux + - bench: requires: - cargo_fetch