Skip to content

Commit

Permalink
chore: only generate test result on specific branches (#27591)
Browse files Browse the repository at this point in the history
* chore: only generate test result on specific branches

* lint

(cherry picked from commit 8c10935)

# Conflicts:
#	.buildkite/hooks/post-command
#	ci/test-stable.sh
  • Loading branch information
yihau authored and mergify[bot] committed Sep 7, 2022
1 parent b9d1ef3 commit 6561ee0
Show file tree
Hide file tree
Showing 2 changed files with 126 additions and 0 deletions.
15 changes: 15 additions & 0 deletions .buildkite/hooks/post-command
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,21 @@ else
SUCCESS=false
fi

<<<<<<< HEAD
=======
if [[ -n $BUILDKITE && -f "results.json" ]]; then
# prepare result file
awk '/{ "type": .* }/' results.json > sanitized-results.json

# upload to buildkite
buildkite-test-collector < sanitized-results.json

# upload to datadog
cargo2junit > results.xml < sanitized-results.json
datadog-ci junit upload --service solana results.xml
fi

>>>>>>> 8c1093534 (chore: only generate test result on specific branches (#27591))
point_tags="pipeline=$BUILDKITE_PIPELINE_SLUG,job=$CI_LABEL,pr=$PR,success=$SUCCESS"
point_tags="${point_tags// /\\ }" # Escape spaces

Expand Down
111 changes: 111 additions & 0 deletions ci/test-stable.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,15 @@ annotate() {
}
}

<<<<<<< HEAD
=======
exit_if_error() {
if [[ "$1" -ne 0 ]]; then
exit "$1"
fi
}

>>>>>>> 8c1093534 (chore: only generate test result on specific branches (#27591))
# Run the appropriate test based on entrypoint
testName=$(basename "$0" .sh)

Expand All @@ -27,10 +36,39 @@ NPROC=$(nproc)
JOBS=$((JOBS>NPROC ? NPROC : JOBS))


# get channel info
eval "$(ci/channel-info.sh)"

need_to_generate_test_result() {
local branches=(
"$EDGE_CHANNEL"
"$BETA_CHANNEL"
"$STABLE_CHANNEL"
)

for n in "${branches[@]}";
do
if [[ "$CI_BRANCH" == "$n" ]]; then
return 0
fi
done

return 1
}

echo "Executing $testName"
case $testName in
test-stable)
<<<<<<< HEAD
_ "$cargo" stable test --jobs "$JOBS" --all --tests --exclude solana-local-cluster ${V:+--verbose} -- --nocapture
=======
if need_to_generate_test_result; then
_ "$cargo" stable test --jobs "$JOBS" --all --tests --exclude solana-local-cluster ${V:+--verbose} -- -Z unstable-options --format json --report-time | tee results.json
exit_if_error "${PIPESTATUS[0]}"
else
_ "$cargo" stable test --jobs "$JOBS" --all --tests --exclude solana-local-cluster ${V:+--verbose} -- --nocapture
fi
>>>>>>> 8c1093534 (chore: only generate test result on specific branches (#27591))
;;
test-stable-bpf)
# Clear the C dependency files, if dependency moves these files are not regenerated
Expand All @@ -52,9 +90,22 @@ test-stable-bpf)

# BPF C program system tests
_ make -C programs/bpf/c tests
<<<<<<< HEAD
_ "$cargo" stable test \
--manifest-path programs/bpf/Cargo.toml \
--no-default-features --features=bpf_c,bpf_rust -- --nocapture
=======
if need_to_generate_test_result; then
_ "$cargo" stable test \
--manifest-path programs/bpf/Cargo.toml \
--no-default-features --features=bpf_c,bpf_rust -- -Z unstable-options --format json --report-time | tee results.json
exit_if_error "${PIPESTATUS[0]}"
else
_ "$cargo" stable test \
--manifest-path programs/bpf/Cargo.toml \
--no-default-features --features=bpf_c,bpf_rust -- --nocapture
fi
>>>>>>> 8c1093534 (chore: only generate test result on specific branches (#27591))

# BPF Rust program unit tests
for bpf_test in programs/bpf/rust/*; do
Expand All @@ -71,10 +122,25 @@ test-stable-bpf)

# BPF program instruction count assertion
bpf_target_path=programs/bpf/target
<<<<<<< HEAD
_ "$cargo" stable test \
--manifest-path programs/bpf/Cargo.toml \
--no-default-features --features=bpf_c,bpf_rust assert_instruction_count \
-- --nocapture &> "${bpf_target_path}"/deploy/instuction_counts.txt
=======
if need_to_generate_test_result; then
_ "$cargo" stable test \
--manifest-path programs/bpf/Cargo.toml \
--no-default-features --features=bpf_c,bpf_rust assert_instruction_count \
-- -Z unstable-options --format json --report-time |& tee results.json
awk '!/{ "type": .* }/' results.json >"${bpf_target_path}"/deploy/instuction_counts.txt
else
_ "$cargo" stable test \
--manifest-path programs/bpf/Cargo.toml \
--no-default-features --features=bpf_c,bpf_rust assert_instruction_count \
-- --nocapture &> "${bpf_target_path}"/deploy/instuction_counts.txt
fi
>>>>>>> 8c1093534 (chore: only generate test result on specific branches (#27591))

bpf_dump_archive="bpf-dumps.tar.bz2"
rm -f "$bpf_dump_archive"
Expand All @@ -99,27 +165,72 @@ test-stable-perf)
fi

_ "$cargo" stable build --bins ${V:+--verbose}
<<<<<<< HEAD
_ "$cargo" stable test --package solana-perf --package solana-ledger --package solana-core --lib ${V:+--verbose} -- --nocapture
=======
if need_to_generate_test_result; then
_ "$cargo" stable test --package solana-perf --package solana-ledger --package solana-core --lib ${V:+--verbose} -- -Z unstable-options --format json --report-time | tee results.json
exit_if_error "${PIPESTATUS[0]}"
else
_ "$cargo" stable test --package solana-perf --package solana-ledger --package solana-core --lib ${V:+--verbose} -- --nocapture
fi
>>>>>>> 8c1093534 (chore: only generate test result on specific branches (#27591))
_ "$cargo" stable run --manifest-path poh-bench/Cargo.toml ${V:+--verbose} -- --hashes-per-tick 10
;;
test-local-cluster)
_ "$cargo" stable build --release --bins ${V:+--verbose}
<<<<<<< HEAD
_ "$cargo" stable test --release --package solana-local-cluster --test local_cluster ${V:+--verbose} -- --nocapture --test-threads=1
=======
if need_to_generate_test_result; then
_ "$cargo" stable test --release --package solana-local-cluster --test local_cluster ${V:+--verbose} -- --test-threads=1 -Z unstable-options --format json --report-time | tee results.json
exit_if_error "${PIPESTATUS[0]}"
else
_ "$cargo" stable test --release --package solana-local-cluster --test local_cluster ${V:+--verbose} -- --nocapture --test-threads=1
fi
>>>>>>> 8c1093534 (chore: only generate test result on specific branches (#27591))
exit 0
;;
test-local-cluster-flakey)
_ "$cargo" stable build --release --bins ${V:+--verbose}
<<<<<<< HEAD
_ "$cargo" stable test --release --package solana-local-cluster --test local_cluster_flakey ${V:+--verbose} -- --nocapture --test-threads=1
=======
if need_to_generate_test_result; then
_ "$cargo" stable test --release --package solana-local-cluster --test local_cluster_flakey ${V:+--verbose} -- --test-threads=1 -Z unstable-options --format json --report-time | tee results.json
exit_if_error "${PIPESTATUS[0]}"
else
_ "$cargo" stable test --release --package solana-local-cluster --test local_cluster_flakey ${V:+--verbose} -- --nocapture --test-threads=1
fi
>>>>>>> 8c1093534 (chore: only generate test result on specific branches (#27591))
exit 0
;;
test-local-cluster-slow-1)
_ "$cargo" stable build --release --bins ${V:+--verbose}
<<<<<<< HEAD
_ "$cargo" stable test --release --package solana-local-cluster --test local_cluster_slow_1 ${V:+--verbose} -- --nocapture --test-threads=1
=======
if need_to_generate_test_result; then
_ "$cargo" stable test --release --package solana-local-cluster --test local_cluster_slow_1 ${V:+--verbose} -- --test-threads=1 -Z unstable-options --format json --report-time | tee results.json
exit_if_error "${PIPESTATUS[0]}"
else
_ "$cargo" stable test --release --package solana-local-cluster --test local_cluster_slow_1 ${V:+--verbose} -- --nocapture --test-threads=1
fi
>>>>>>> 8c1093534 (chore: only generate test result on specific branches (#27591))
exit 0
;;
test-local-cluster-slow-2)
_ "$cargo" stable build --release --bins ${V:+--verbose}
<<<<<<< HEAD
_ "$cargo" stable test --release --package solana-local-cluster --test local_cluster_slow_2 ${V:+--verbose} -- --nocapture --test-threads=1
=======
if need_to_generate_test_result; then
_ "$cargo" stable test --release --package solana-local-cluster --test local_cluster_slow_2 ${V:+--verbose} -- --test-threads=1 -Z unstable-options --format json --report-time | tee results.json
exit_if_error "${PIPESTATUS[0]}"
else
_ "$cargo" stable test --release --package solana-local-cluster --test local_cluster_slow_2 ${V:+--verbose} -- --nocapture --test-threads=1
fi
>>>>>>> 8c1093534 (chore: only generate test result on specific branches (#27591))
exit 0
;;
test-wasm)
Expand Down

0 comments on commit 6561ee0

Please sign in to comment.