Loading main-basop.yml +52 −90 Original line number Diff line number Diff line Loading @@ -275,6 +275,24 @@ workflow: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never .rules-pytest-msan-on-schedule: rules: - if: $CI_PIPELINE_SOURCE == 'push' when: never - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never - if: $CI_PIPELINE_SOURCE == 'schedule' && $IVAS_PYTEST_MSAN - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "sanitizer" .rules-pytest-asan-usan-on-schedule: rules: - if: $CI_PIPELINE_SOURCE == 'push' when: never - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never - if: $CI_PIPELINE_SOURCE == 'schedule' && $IVAS_PYTEST_ASAN_USAN - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "sanitizer" # --------------------------------------------------------------- # Job templates # --------------------------------------------------------------- Loading Loading @@ -1492,95 +1510,57 @@ renderer-smoke-test: junit: - report-junit.xml # from float # TODO: turn into scheduled job .renderer-asan: .renderer-sanitizer-job: extends: - .test-job-linux needs: ["build-codec-linux-clang-cmake"] needs: ["build-codec-linux-clang-make"] stage: test script: - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/update-scripts-repo.sh - make clean - make -j 2>&1 >$MAKE_BUILD_LOG_FILE_DEFAULT - testcase_timeout=180 - python3 -m pytest -q -n auto --tb=no --junit-xml=report-junit.xml tests/renderer_short/test_renderer.py --testcase_timeout=$testcase_timeout timeout: "300 minutes" artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" name: "$CI_JOB_NAME--sha-$CI_COMMIT_SHORT_SHA--results" expire_in: 1 week when: always paths: - report-junit.xml - report.html - errors.csv - $MAKE_BUILD_LOG_FILE_DEFAULT expose_as: "renderer asan pytest results" reports: junit: - report-junit.xml # from float # TODO: turn into scheduled job .renderer-msan: extends: - .test-job-linux needs: ["build-codec-linux-clang-cmake"] stage: test tags: - ivas-linux script: - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/update-scripts-repo.sh - python3 scripts/basop_create_ignorelist_for_ubsan.py - make clean - make -j 2>&1 >$MAKE_BUILD_LOG_FILE_DEFAULT - testcase_timeout=180 - python3 -m pytest -q -n auto --tb=no --junit-xml=report-junit.xml tests/renderer_short/test_renderer.py --testcase_timeout=$testcase_timeout - make -j CLANG=$CLANG_NUM IGNORELIST=1 2>&1 >$MAKE_BUILD_LOG_FILE_DEFAULT artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" expire_in: 1 week when: always paths: - report-junit.xml - $MAKE_BUILD_LOG_FILE_DEFAULT expose_as: "renderer msan pytest results" reports: junit: - report-junit.xml - UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1,print_stacktrace=1,log_path=usan_log_catchall python3 -m pytest -q -n auto --tb=no --log-level=INFO --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/renderer_short/test_renderer.py # from float # TODO: turn into scheduled job # NOTE: disabled for now until existing bug is fixed .renderer-usan: - python3 scripts/parse_sanitizer_errors_from_xml_report.py report-junit.xml errors.csv renderer-msan: extends: - .test-job-linux needs: ["build-codec-linux-clang-cmake"] stage: test tags: - ivas-linux script: - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/update-scripts-repo.sh - python3 scripts/basop_create_ignorelist_for_ubsan.py - make -j CLANG=3 IGNORELIST=1 2>&1 >$MAKE_BUILD_LOG_FILE_DEFAULT - testcase_timeout=180 - UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1,print_stacktrace=1,log_path=usan_log_catchall python3 -m pytest -q -n auto --tb=no --junit-xml=report-junit.xml tests/renderer_short/test_renderer.py --testcase_timeout=$testcase_timeout - grep_exit_code=0 - touch usan_log_empty # Creates an empty file, this is to avoid "grep: usan_log_*: No such file or directory" in case no USAN failures are reported from pytest - grep UndefinedBehaviorSanitizer usan_log_* || grep_exit_code=$? - if [ $grep_exit_code != 1 ] ; then echo "Run errors in test_renderer.py with Clang undefined-behavior-sanitizer"; exit 1; fi - .renderer-sanitizer-job - .rules-pytest-msan-on-schedule variables: CLANG_NUM: 1 artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" expire_in: 1 week when: always paths: - report-junit.xml - $MAKE_BUILD_LOG_FILE_DEFAULT expose_as: "renderer usan pytest results" reports: junit: - report-junit.xml renderer-asan: extends: - .renderer-sanitizer-job - .rules-pytest-asan-usan-on-schedule variables: CLANG_NUM: 2 renderer-usan: extends: - .renderer-sanitizer-job - .rules-pytest-asan-usan-on-schedule variables: CLANG_NUM: 3 .sanitizer-selftest-on-mr: stage: test Loading Loading @@ -2068,16 +2048,10 @@ ivas-pytest-compare_ref-long-fx-fx-lev+10: ivas-pytest-msan: extends: - .ivas-pytest-sanitizers-anchor - .rules-pytest-msan-on-schedule tags: - ivas-linux-fast resource_group: basop-long-sanitizers rules: - if: $CI_PIPELINE_SOURCE == 'push' when: never - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never - if: $CI_PIPELINE_SOURCE == 'schedule' && $IVAS_PYTEST_MSAN - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "sanitizer" timeout: "24 hours" before_script: - !reference [ .ivas-pytest-sanitizers-anchor, before_script ] Loading @@ -2101,16 +2075,10 @@ ivas-pytest-msan: ivas-pytest-asan: extends: - .ivas-pytest-sanitizers-anchor - .rules-pytest-asan-usan-on-schedule tags: - ivas-linux-fast resource_group: basop-long-sanitizers rules: - if: $CI_PIPELINE_SOURCE == 'push' when: never - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never - if: $CI_PIPELINE_SOURCE == 'schedule' && $IVAS_PYTEST_ASAN_USAN - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "sanitizer" before_script: - !reference [ .ivas-pytest-sanitizers-anchor, before_script ] - CLANG_NUM=2 Loading @@ -2133,16 +2101,10 @@ ivas-pytest-asan: ivas-pytest-usan: extends: - .ivas-pytest-sanitizers-anchor - .rules-pytest-asan-usan-on-schedule tags: - ivas-linux-fast resource_group: basop-long-sanitizers rules: - if: $CI_PIPELINE_SOURCE == 'push' when: never - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never - if: $CI_PIPELINE_SOURCE == 'schedule' && $IVAS_PYTEST_ASAN_USAN - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "sanitizer" before_script: - !reference [ .ivas-pytest-sanitizers-anchor, before_script ] - CLANG_NUM=3 Loading Loading
main-basop.yml +52 −90 Original line number Diff line number Diff line Loading @@ -275,6 +275,24 @@ workflow: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never .rules-pytest-msan-on-schedule: rules: - if: $CI_PIPELINE_SOURCE == 'push' when: never - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never - if: $CI_PIPELINE_SOURCE == 'schedule' && $IVAS_PYTEST_MSAN - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "sanitizer" .rules-pytest-asan-usan-on-schedule: rules: - if: $CI_PIPELINE_SOURCE == 'push' when: never - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never - if: $CI_PIPELINE_SOURCE == 'schedule' && $IVAS_PYTEST_ASAN_USAN - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "sanitizer" # --------------------------------------------------------------- # Job templates # --------------------------------------------------------------- Loading Loading @@ -1492,95 +1510,57 @@ renderer-smoke-test: junit: - report-junit.xml # from float # TODO: turn into scheduled job .renderer-asan: .renderer-sanitizer-job: extends: - .test-job-linux needs: ["build-codec-linux-clang-cmake"] needs: ["build-codec-linux-clang-make"] stage: test script: - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/update-scripts-repo.sh - make clean - make -j 2>&1 >$MAKE_BUILD_LOG_FILE_DEFAULT - testcase_timeout=180 - python3 -m pytest -q -n auto --tb=no --junit-xml=report-junit.xml tests/renderer_short/test_renderer.py --testcase_timeout=$testcase_timeout timeout: "300 minutes" artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" name: "$CI_JOB_NAME--sha-$CI_COMMIT_SHORT_SHA--results" expire_in: 1 week when: always paths: - report-junit.xml - report.html - errors.csv - $MAKE_BUILD_LOG_FILE_DEFAULT expose_as: "renderer asan pytest results" reports: junit: - report-junit.xml # from float # TODO: turn into scheduled job .renderer-msan: extends: - .test-job-linux needs: ["build-codec-linux-clang-cmake"] stage: test tags: - ivas-linux script: - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/update-scripts-repo.sh - python3 scripts/basop_create_ignorelist_for_ubsan.py - make clean - make -j 2>&1 >$MAKE_BUILD_LOG_FILE_DEFAULT - testcase_timeout=180 - python3 -m pytest -q -n auto --tb=no --junit-xml=report-junit.xml tests/renderer_short/test_renderer.py --testcase_timeout=$testcase_timeout - make -j CLANG=$CLANG_NUM IGNORELIST=1 2>&1 >$MAKE_BUILD_LOG_FILE_DEFAULT artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" expire_in: 1 week when: always paths: - report-junit.xml - $MAKE_BUILD_LOG_FILE_DEFAULT expose_as: "renderer msan pytest results" reports: junit: - report-junit.xml - UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1,print_stacktrace=1,log_path=usan_log_catchall python3 -m pytest -q -n auto --tb=no --log-level=INFO --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/renderer_short/test_renderer.py # from float # TODO: turn into scheduled job # NOTE: disabled for now until existing bug is fixed .renderer-usan: - python3 scripts/parse_sanitizer_errors_from_xml_report.py report-junit.xml errors.csv renderer-msan: extends: - .test-job-linux needs: ["build-codec-linux-clang-cmake"] stage: test tags: - ivas-linux script: - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/update-scripts-repo.sh - python3 scripts/basop_create_ignorelist_for_ubsan.py - make -j CLANG=3 IGNORELIST=1 2>&1 >$MAKE_BUILD_LOG_FILE_DEFAULT - testcase_timeout=180 - UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1,print_stacktrace=1,log_path=usan_log_catchall python3 -m pytest -q -n auto --tb=no --junit-xml=report-junit.xml tests/renderer_short/test_renderer.py --testcase_timeout=$testcase_timeout - grep_exit_code=0 - touch usan_log_empty # Creates an empty file, this is to avoid "grep: usan_log_*: No such file or directory" in case no USAN failures are reported from pytest - grep UndefinedBehaviorSanitizer usan_log_* || grep_exit_code=$? - if [ $grep_exit_code != 1 ] ; then echo "Run errors in test_renderer.py with Clang undefined-behavior-sanitizer"; exit 1; fi - .renderer-sanitizer-job - .rules-pytest-msan-on-schedule variables: CLANG_NUM: 1 artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" expire_in: 1 week when: always paths: - report-junit.xml - $MAKE_BUILD_LOG_FILE_DEFAULT expose_as: "renderer usan pytest results" reports: junit: - report-junit.xml renderer-asan: extends: - .renderer-sanitizer-job - .rules-pytest-asan-usan-on-schedule variables: CLANG_NUM: 2 renderer-usan: extends: - .renderer-sanitizer-job - .rules-pytest-asan-usan-on-schedule variables: CLANG_NUM: 3 .sanitizer-selftest-on-mr: stage: test Loading Loading @@ -2068,16 +2048,10 @@ ivas-pytest-compare_ref-long-fx-fx-lev+10: ivas-pytest-msan: extends: - .ivas-pytest-sanitizers-anchor - .rules-pytest-msan-on-schedule tags: - ivas-linux-fast resource_group: basop-long-sanitizers rules: - if: $CI_PIPELINE_SOURCE == 'push' when: never - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never - if: $CI_PIPELINE_SOURCE == 'schedule' && $IVAS_PYTEST_MSAN - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "sanitizer" timeout: "24 hours" before_script: - !reference [ .ivas-pytest-sanitizers-anchor, before_script ] Loading @@ -2101,16 +2075,10 @@ ivas-pytest-msan: ivas-pytest-asan: extends: - .ivas-pytest-sanitizers-anchor - .rules-pytest-asan-usan-on-schedule tags: - ivas-linux-fast resource_group: basop-long-sanitizers rules: - if: $CI_PIPELINE_SOURCE == 'push' when: never - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never - if: $CI_PIPELINE_SOURCE == 'schedule' && $IVAS_PYTEST_ASAN_USAN - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "sanitizer" before_script: - !reference [ .ivas-pytest-sanitizers-anchor, before_script ] - CLANG_NUM=2 Loading @@ -2133,16 +2101,10 @@ ivas-pytest-asan: ivas-pytest-usan: extends: - .ivas-pytest-sanitizers-anchor - .rules-pytest-asan-usan-on-schedule tags: - ivas-linux-fast resource_group: basop-long-sanitizers rules: - if: $CI_PIPELINE_SOURCE == 'push' when: never - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never - if: $CI_PIPELINE_SOURCE == 'schedule' && $IVAS_PYTEST_ASAN_USAN - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "sanitizer" before_script: - !reference [ .ivas-pytest-sanitizers-anchor, before_script ] - CLANG_NUM=3 Loading