mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-02 16:21:42 +00:00
Update the EF spec tests to v1.6.0-beta.1 There are a few new light client tests (which we pass), and some for progressive containers, which we haven't implemented (we ignore them). Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
69 lines
1.9 KiB
Bash
Executable File
69 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -Eeuo pipefail
|
|
|
|
TESTS=("general" "minimal" "mainnet")
|
|
|
|
version=${1}
|
|
if [[ "$version" == "nightly" ]]; then
|
|
if [[ -z "${GITHUB_TOKEN:-}" ]]; then
|
|
echo "Error GITHUB_TOKEN is not set"
|
|
exit 1
|
|
fi
|
|
|
|
for cmd in unzip jq; do
|
|
if ! command -v "${cmd}" >/dev/null 2>&1; then
|
|
echo "Error ${cmd} is not installed"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
repo="ethereum/consensus-specs"
|
|
api="https://api.github.com"
|
|
auth_header="Authorization: token ${GITHUB_TOKEN}"
|
|
|
|
run_id=$(curl -s -H "${auth_header}" \
|
|
"${api}/repos/${repo}/actions/workflows/generate_vectors.yml/runs?branch=dev&status=success&per_page=1" |
|
|
jq -r '.workflow_runs[0].id')
|
|
|
|
if [[ "${run_id}" == "null" || -z "${run_id}" ]]; then
|
|
echo "No successful nightly workflow run found"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Downloading nightly test vectors for run: ${run_id}"
|
|
curl -s -H "${auth_header}" "${api}/repos/${repo}/actions/runs/${run_id}/artifacts" |
|
|
jq -c '.artifacts[] | {name, url: .archive_download_url}' |
|
|
while read -r artifact; do
|
|
name=$(echo "${artifact}" | jq -r .name)
|
|
url=$(echo "${artifact}" | jq -r .url)
|
|
|
|
if [[ "$name" == "consensustestgen.log" ]]; then
|
|
continue
|
|
fi
|
|
|
|
echo "Downloading artifact: ${name}"
|
|
curl --progress-bar --location --show-error --retry 3 --retry-all-errors --fail \
|
|
-H "${auth_header}" -H "Accept: application/vnd.github+json" \
|
|
--output "${name}.zip" "${url}" || {
|
|
echo "Failed to download ${name}"
|
|
exit 1
|
|
}
|
|
|
|
unzip -qo "${name}.zip"
|
|
rm -f "${name}.zip"
|
|
done
|
|
else
|
|
for test in "${TESTS[@]}"; do
|
|
if [[ ! -e "${test}.tar.gz" ]]; then
|
|
echo "Downloading: ${version}/${test}.tar.gz"
|
|
curl --progress-bar --location --remote-name --show-error --retry 3 --retry-all-errors --fail \
|
|
"https://github.com/ethereum/consensus-specs/releases/download/${version}/${test}.tar.gz" \
|
|
|| {
|
|
echo "Curl failed. Aborting"
|
|
rm -f "${test}.tar.gz"
|
|
exit 1
|
|
}
|
|
fi
|
|
done
|
|
fi
|