diff --git a/main-float.yml b/main-float.yml index c04482381a369cb3fc7c37ce4c0d8a7143a70d3b..5a2c0e0abb6551c10fdb12cdc294fdb60ba840bd 100644 --- a/main-float.yml +++ b/main-float.yml @@ -208,14 +208,18 @@ workflow: # to be reused in MR and LTV-scheduled sanitizer test jobs # set CLANG_NUM, SELFTEST_SANITY_TIMEOUT and SELF_TEST_PRM_FILE in before_script section -.sanitizer-selftest-anchor: +.sanitizer-selftest-template: script: - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/copy-ltv-files-to-testv-dir.sh - make clean + - make IVAS_cod + - mv IVAS_cod IVAS_cod_tmp + - make clean - make -j CLANG=$CLANG_NUM + - mv IVAS_cod_tmp IVAS_cod - testcase_timeout=$SELFTEST_SANITY_TIMEOUT - - export UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1,print_stacktrace=1 + - export UBSAN_OPTIONS=report_error_type=1,print_stacktrace=1 - exit_code20=0 - exit_code10=0 @@ -433,7 +437,7 @@ basop-compat-smoke-test: codec-msan: extends: - .sanitizer-selftest-on-mr - - .sanitizer-selftest-anchor + - .sanitizer-selftest-template tags: - ivas-linux-fast before_script: @@ -442,12 +446,38 @@ codec-msan: - SELFTEST_SANITY_TIMEOUT=$TESTCASE_TIMEOUT_STV_SANITIZERS - SELF_TEST_PRM_FILE="scripts/config/self_test.prm" - USE_LTV="" + after_script: + - python3 scripts/parse_sanitizer_errors_from_xml_report.py report-junit-20ms.xml ubsan-errors-20ms.csv + - python3 scripts/parse_sanitizer_errors_from_xml_report.py report-junit-10ms.xml ubsan-errors-10ms.csv + - python3 scripts/parse_sanitizer_errors_from_xml_report.py report-junit-5ms.xml ubsan-errors-5ms.csv + artifacts: + name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results" + expire_in: 1 week + when: always + # NOTE: artifacts paths can't contain '*' when used with 'expose_as' + # --> reminder for next time you wanna make this more concise... + paths: + - report-junit-20ms.xml + - report-junit-10ms.xml + - report-junit-5ms.xml + - report-20ms.html + - report-10ms.html + - report-5ms.html + - ubsan-errors-20ms.csv + - ubsan-errors-10ms.csv + - ubsan-errors-5ms.csv + expose_as: "Sanitizer selftest results" + reports: + junit: + - report-junit-20ms.xml + - report-junit-10ms.xml + - report-junit-5ms.xml # code selftest testvectors with address-sanitizer binaries codec-asan: extends: - .sanitizer-selftest-on-mr - - .sanitizer-selftest-anchor + - .sanitizer-selftest-template before_script: - !reference [.job-linux, before_script] - CLANG_NUM=2 @@ -459,7 +489,7 @@ codec-asan: codec-usan: extends: - .sanitizer-selftest-on-mr - - .sanitizer-selftest-anchor + - .sanitizer-selftest-template tags: - ivas-linux-fast before_script: @@ -468,6 +498,32 @@ codec-usan: - SELFTEST_SANITY_TIMEOUT=$TESTCASE_TIMEOUT_STV_SANITIZERS - SELF_TEST_PRM_FILE="scripts/config/self_test.prm" - USE_LTV="" + after_script: + - python3 scripts/parse_sanitizer_errors_from_xml_report.py report-junit-20ms.xml ubsan-errors-20ms.csv + - python3 scripts/parse_sanitizer_errors_from_xml_report.py report-junit-10ms.xml ubsan-errors-10ms.csv + - python3 scripts/parse_sanitizer_errors_from_xml_report.py report-junit-5ms.xml ubsan-errors-5ms.csv + artifacts: + name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results" + expire_in: 1 week + when: always + # NOTE: artifacts paths can't contain '*' when used with 'expose_as' + # --> reminder for next time you wanna make this more concise... + paths: + - report-junit-20ms.xml + - report-junit-10ms.xml + - report-junit-5ms.xml + - report-20ms.html + - report-10ms.html + - report-5ms.html + - ubsan-errors-20ms.csv + - ubsan-errors-10ms.csv + - ubsan-errors-5ms.csv + expose_as: "Sanitizer selftest results" + reports: + junit: + - report-junit-20ms.xml + - report-junit-10ms.xml + - report-junit-5ms.xml # compare bit-exactness between 5ms and 20 on the branch pytest-compare-20ms-and-5ms-rendering: @@ -1615,7 +1671,7 @@ test-branch-vs-input-passthrough: ltv-msan: extends: - .sanitizer-selftest-ltv - - .sanitizer-selftest-anchor + - .sanitizer-selftest-template rules: - if: $SANITIZER_SCHEDULE_E timeout: 5 hours @@ -1632,7 +1688,7 @@ ltv-msan: ltv-asan: extends: - .sanitizer-selftest-ltv - - .sanitizer-selftest-anchor + - .sanitizer-selftest-template rules: - if: $SANITIZER_SCHEDULE_E when: delayed @@ -1651,7 +1707,7 @@ ltv-asan: ltv-usan: extends: - .sanitizer-selftest-ltv - - .sanitizer-selftest-anchor + - .sanitizer-selftest-template rules: - if: $SANITIZER_SCHEDULE_E when: delayed