From d726c39e52bc8be2fa6910410111c15ea0d96edb Mon Sep 17 00:00:00 2001 From: Thomas Letan Date: Thu, 13 Apr 2023 11:23:09 +0200 Subject: [PATCH] WASM PVM: Let the CI enforce that the hashes traces of V0 do not change --- .gitlab/ci/jobs/test/misc_checks.yml | 1 + script-inputs/frozen_wasm_pvm_versions | 1 + script-inputs/wasm_pvm_golden | 5 ++++ scripts/check_wasm_pvm_regressions.sh | 35 ++++++++++++++++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 script-inputs/frozen_wasm_pvm_versions create mode 100644 script-inputs/wasm_pvm_golden create mode 100755 scripts/check_wasm_pvm_regressions.sh diff --git a/.gitlab/ci/jobs/test/misc_checks.yml b/.gitlab/ci/jobs/test/misc_checks.yml index 5c9dc00e62ad..30653e9ace1c 100644 --- a/.gitlab/ci/jobs/test/misc_checks.yml +++ b/.gitlab/ci/jobs/test/misc_checks.yml @@ -11,3 +11,4 @@ misc_checks: - . $HOME/.venv/bin/activate script: - make -C ${CI_PROJECT_DIR}/.gitlab/ci lint-misc-check + - scripts/check_wasm_pvm_regressions.sh check diff --git a/script-inputs/frozen_wasm_pvm_versions b/script-inputs/frozen_wasm_pvm_versions new file mode 100644 index 000000000000..13ceda207b64 --- /dev/null +++ b/script-inputs/frozen_wasm_pvm_versions @@ -0,0 +1 @@ +v0 diff --git a/script-inputs/wasm_pvm_golden b/script-inputs/wasm_pvm_golden new file mode 100644 index 000000000000..b58c817f4ca4 --- /dev/null +++ b/script-inputs/wasm_pvm_golden @@ -0,0 +1,5 @@ +29ba7bff3c7c7a393c6a04f4940448063d3e18ee36649c9b8c30baba78dbc95d src/lib_scoru_wasm/regressions/expected/tezos_scoru_wasm_regressions.ml/kernel echo run (hash- v0).out +596fcb69efa87b91a8cbff250291e9d5daedbc9149664caf2aaba18a03061e3b src/lib_scoru_wasm/regressions/expected/tezos_scoru_wasm_regressions.ml/kernel link_store_delete_value run (hash- v0).out +863f63c96f5d7fca01bdda358ec1ea8fd49fb7a9716ee55abb3a2daae638406b src/lib_scoru_wasm/regressions/expected/tezos_scoru_wasm_regressions.ml/kernel link_store_get_hash run (hash- v0).out +ac9dbd968c7e78abd6d28ef649a8eb98e75c3bc61ccc5b8afb93cdd0e37dbe90 src/lib_scoru_wasm/regressions/expected/tezos_scoru_wasm_regressions.ml/kernel link_store_create run (hash- v0).out +c30c3dc42962304e1ca6445e13d81525060ed82c15873f145e4e62198e68f3ab src/lib_scoru_wasm/regressions/expected/tezos_scoru_wasm_regressions.ml/kernel tx_no_verify run (hash- v0).out diff --git a/scripts/check_wasm_pvm_regressions.sh b/scripts/check_wasm_pvm_regressions.sh new file mode 100755 index 000000000000..dd5fe5fd6842 --- /dev/null +++ b/scripts/check_wasm_pvm_regressions.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +RES=0 +FROZEN_VERSIONS="script-inputs/frozen_wasm_pvm_versions" +GOLDEN="script-inputs/wasm_pvm_golden" +CURRENT="$(mktemp)" + +COMMAND="${1}" + +while read -r version +do + find src/lib_scoru_wasm/regressions/expected/tezos_scoru_wasm_regressions.ml/ \ + -name "*(hash- ${version}).out" \ + -exec sha256sum {} \; >> "${CURRENT}" +done < "${FROZEN_VERSIONS}" + +sort -o "${CURRENT}" "${CURRENT}" + +case "${COMMAND}" in + "check") + diff "${GOLDEN}" "${CURRENT}" + RES=$? + rm "${CURRENT}" + ;; + "promote") + mv "${CURRENT}" "${GOLDEN}" + ;; + *) + echo "usage:" + echo " $0 check" + echo " $0 promote" + ;; +esac + +exit ${RES} -- GitLab