@@ -15,14 +15,6 @@ executors:
1515 resource_class : small
1616
1717commands :
18- rust_setup :
19- description : Set rustc version
20- steps :
21- - run :
22- name : Set rustc version
23- command : |
24- rustup default stable
25- rustup update stable
2618 print_versions :
2719 description : Version Info
2820 steps :
@@ -40,6 +32,7 @@ commands:
4032 echo 'export LIBRA_DUMP_LOGS=1' >> $BASH_ENV
4133 echo 'export CARGO_INCREMENTAL=0' >> $BASH_ENV
4234 echo 'export CI_TIMEOUT="timeout 40m"' >> $BASH_ENV
35+ echo 'export CARGO="$(rustup which --toolchain nightly cargo) -Z features=all"' >> $BASH_ENV
4336 install_deps :
4437 steps :
4538 - run :
@@ -48,14 +41,15 @@ commands:
4841 sudo apt-get update
4942 sudo apt-get install -y cmake curl clang llvm
5043 rustup component add clippy rustfmt
44+ rustup toolchain install nightly
5145 install_code_coverage_deps :
5246 steps :
5347 - run :
5448 name : Install grcov and lcov
5549 command : |
5650 sudo apt-get update
5751 sudo apt-get install lcov
58- cargo install --force grcov
52+ $(CARGO) install --force grcov
5953 install_docker_linter :
6054 steps :
6155 - run :
@@ -64,11 +58,6 @@ commands:
6458 export HADOLINT=${HOME}/hadolint
6559 export HADOLINT_VER=v1.17.4
6660 curl -sL -o ${HADOLINT} "https://github.com/hadolint/hadolint/releases/download/${HADOLINT_VER}/hadolint-$(uname -s)-$(uname -m)" && chmod 700 ${HADOLINT}
67- install_rust_nightly_toolchain :
68- steps :
69- - run :
70- name : Install nightly toolchain for features not in beta/stable
71- command : rustup install nightly
7261 find_dockerfile_changes :
7362 steps :
7463 - run :
@@ -82,7 +71,6 @@ commands:
8271 build_setup :
8372 steps :
8473 - checkout
85- - rust_setup
8674 - print_versions
8775 - env_setup
8876 - install_deps
@@ -104,37 +92,37 @@ jobs:
10492 - run :
10593 name : Linting
10694 command : |
107- [[ $CIRCLE_NODE_INDEX =~ [1234] ]] || cargo x lint
108- [[ $CIRCLE_NODE_INDEX =~ [1234] ]] || cargo xclippy --workspace --all-targets
109- [[ $CIRCLE_NODE_INDEX =~ [1234] ]] || cargo xfmt --check
110- [[ $CIRCLE_NODE_INDEX =~ [1234] ]] || cargo install cargo-guppy --git http://github.com/calibra/cargo-guppy --rev 8b2bc45c0cd6323a7a2b8170ddad6d2a5b79047b
111- [[ $CIRCLE_NODE_INDEX =~ [1234] ]] || [[ -z $(cargo guppy dups --target x86_64-unknown-linux-gnu --kind directthirdparty) ]]
95+ [[ $CIRCLE_NODE_INDEX =~ [1234] ]] || $CARGO x lint
96+ [[ $CIRCLE_NODE_INDEX =~ [1234] ]] || $CARGO xclippy --workspace --all-targets
97+ [[ $CIRCLE_NODE_INDEX =~ [1234] ]] || $CARGO xfmt --check
98+ [[ $CIRCLE_NODE_INDEX =~ [1234] ]] || $CARGO install cargo-guppy --git http://github.com/calibra/cargo-guppy --rev 8b2bc45c0cd6323a7a2b8170ddad6d2a5b79047b
99+ [[ $CIRCLE_NODE_INDEX =~ [1234] ]] || [[ -z $($CARGO guppy dups --target x86_64-unknown-linux-gnu --kind directthirdparty) ]]
112100 - run :
113101 name : Build Release
114102 command : |
115- [[ $CIRCLE_NODE_INDEX =~ [0234] ]] || RUST_BACKTRACE=1 cargo build -j 16 --release
103+ [[ $CIRCLE_NODE_INDEX =~ [0234] ]] || RUST_BACKTRACE=1 $CARGO build -j 16 --release
116104 - run :
117105 name : Build Dev
118106 command : |
119- [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 cargo build -j 16
120- [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 cargo build -j 16 -p libra-swarm
121- [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 cargo build -j 16 -p cluster-test
122- [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 cargo build -j 16 -p libra-fuzzer
123- [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 cargo build -j 16 -p language_benchmarks
124- [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 cargo build -j 16 -p cost-synthesis
125- [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 cargo build -j 16 -p test-generation
107+ [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 $CARGO build -j 16
108+ [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 $CARGO build -j 16 -p libra-swarm
109+ [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 $CARGO build -j 16 -p cluster-test
110+ [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 $CARGO build -j 16 -p libra-fuzzer
111+ [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 $CARGO build -j 16 -p language_benchmarks
112+ [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 $CARGO build -j 16 -p cost-synthesis
113+ [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 $CARGO build -j 16 -p test-generation
126114 - run :
127115 name : Run All Non Flaky Unit Tests
128116 command : |
129- [[ $CIRCLE_NODE_INDEX =~ [0134] ]] || RUST_BACKTRACE=1 $CI_TIMEOUT cargo test --all-features --workspace --exclude libra-node --exclude libra-crypto --exclude testsuite --exclude consensus
117+ [[ $CIRCLE_NODE_INDEX =~ [0134] ]] || RUST_BACKTRACE=1 $CI_TIMEOUT $CARGO test --all-features --workspace --exclude libra-node --exclude libra-crypto --exclude testsuite --exclude consensus
130118 - run :
131119 name : Run Cryptography Unit Tests with the formally verified backend
132120 command : |
133- [[ $CIRCLE_NODE_INDEX =~ [0134] ]] || ( RUST_BACKTRACE=1 cd crypto/crypto && $CI_TIMEOUT cargo test --features='std fiat_u64_backend fuzzing' --no-default-features )
121+ [[ $CIRCLE_NODE_INDEX =~ [0134] ]] || ( RUST_BACKTRACE=1 cd crypto/crypto && $CI_TIMEOUT $CARGO test --features='std fiat_u64_backend fuzzing' --no-default-features )
134122 - run :
135123 name : Run All End to End Tests
136124 command : |
137- [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 $CI_TIMEOUT cargo x test --package testsuite -- --test-threads 1
125+ [[ $CIRCLE_NODE_INDEX =~ [0124] ]] || RUST_BACKTRACE=1 $CI_TIMEOUT $CARGO x test --package testsuite -- --test-threads 1
138126 - run :
139127 name : Run Quarantined Unit Tests 3 (consensus) times
140128 command : |
@@ -155,16 +143,16 @@ jobs:
155143 steps :
156144 - build_setup
157145 - run :
158- name : Install Cargo Audit
146+ name : Install cargo-audit
159147 command : |
160- cargo install --force cargo-audit
148+ $CARGO install --force cargo-audit
161149 - run :
162150 # NOTE ignored advisory rules
163151 # RUSTSEC-2018-0015 - term
164152 # RUSTSEC-2019-0031 - spin
165153 name : Audit crates
166154 command : |
167- cargo audit --deny-warnings \
155+ $CARGO audit --deny-warnings \
168156 --ignore RUSTSEC-2018-0015 \
169157 --ignore RUSTSEC-2019-0031
170158 - build_teardown
@@ -174,7 +162,6 @@ jobs:
174162 steps :
175163 - build_setup
176164 - install_code_coverage_deps
177- - install_rust_nightly_toolchain
178165 - run :
179166 name : Setup code coverage output
180167 command : echo "export CODECOV_OUTPUT=codecov" >> $BASH_ENV
0 commit comments