diff --git a/includes/build-jobs.yml b/includes/build-jobs.yml index 0fc5b68c613647b2ce6a05bb4114e3956e4ef2fe..051efa3cd5e9a231a2d854125da48438d6d10e04 100644 --- a/includes/build-jobs.yml +++ b/includes/build-jobs.yml @@ -19,7 +19,7 @@ build-codec-linux-make: script: - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/activate-Werror-linux.sh - - make -j + - make -j CLANG=0 # ensure that codec builds on linux with cmake build-codec-linux-cmake: @@ -42,7 +42,7 @@ build-codec-linux-cmake: bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/update-scripts-repo.sh fi - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/activate-Werror-linux.sh - - cmake -B cmake-build -G "Unix Makefiles" + - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=0 - cmake --build cmake-build -- -j # ensure that codec builds on linux with instrumentation active @@ -70,7 +70,7 @@ build-codec-linux-instrumented-make: INSTRUMENTATION_ARGS="-m MEM_ONLY" fi - bash scripts/prepare_instrumentation.sh $INSTRUMENTATION_ARGS - - make -j -C $INSTR_DIR + - make -j -C $INSTR_DIR CLANG=0 # make sure that the codec builds with msan, asan and usan build-codec-sanitizers-linux: @@ -114,7 +114,7 @@ build-codec-linux-debugging-make: script: - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/enable-debugging-macro.sh - - make -j + - make -j CLANG=0 build-codec-windows-msbuild: rules: diff --git a/includes/complexity-jobs.yml b/includes/complexity-jobs.yml index 02d7eea8c1f7aae4198da690c91764f04c12d7ac..1ae6e5384b10f103308648faba05548016bb2049 100644 --- a/includes/complexity-jobs.yml +++ b/includes/complexity-jobs.yml @@ -87,8 +87,7 @@ extends: - .test-job-linux tags: - # TODO: align runner tags between projects - - ivas-linux-fast + - ubuntu_24_04 timeout: 3 hours 30 minutes stage: test variables: diff --git a/includes/job-templates.yml b/includes/job-templates.yml index 8ec7b0331d652f95ef451b2c7fff30e5303b383a..65c37fd9d3300c0a8c3d8da58b3a3d9dcae55a76 100644 --- a/includes/job-templates.yml +++ b/includes/job-templates.yml @@ -7,7 +7,7 @@ # If a child job overwrites before_script, then use !reference to also add the part from this jobs .job-linux: tags: - - ivas-linux + - ubuntu_24_04 before_script: - | if [[ "$IVAS_CODEC_CI_REF" == "" ]]; then echo "Error: IVAS_CODEC_CI_REF not set" && exit 1; else echo "IVAS_CODEC_CI_REF set to: $IVAS_CODEC_CI_REF"; fi diff --git a/includes/pre.yml b/includes/pre.yml index 640d659b10b550b2d6ad6c7fd079f6cba09bf14b..c74d6da179ff0716ac39141baf78aa404416b1ba 100644 --- a/includes/pre.yml +++ b/includes/pre.yml @@ -18,4 +18,4 @@ uninterruptible: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH when: always tags: - - ivas-linux + - ubuntu_24_04 diff --git a/main-basop.yml b/main-basop.yml index 1200deb6c30957244f81296bec76dec782149de0..011bea6d4f20cd13cb7cbb8bc2e2a7a79e63ac9d 100644 --- a/main-basop.yml +++ b/main-basop.yml @@ -912,7 +912,7 @@ fail-pipeline-if-in-draft: when: never stage: postvalidate tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 script: - echo "Your MR is still in Draft state, set it to ready to be mergable, then retrigger the pipeline." - exit 1 @@ -923,7 +923,7 @@ check-for-parallel-branch-in-float-repo: - .job-linux stage: prevalidate tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 script: # we need to source the script here so that the correct exit code is returned from the global job shell and the "allow_failure" recognizes it - source "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/check-for-parallel-branch-in-float-repo.sh @@ -943,7 +943,7 @@ branch-is-up-to-date-with-target-pre: stage: prevalidate needs: [] tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 script: - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/update-scripts-repo.sh - source "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/branch-is-up-to-date-with-target-pre.sh @@ -961,7 +961,7 @@ branch-is-up-to-date-with-target-post: - .rules-merge-request-no-draft stage: postvalidate tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 script: - | commits_behind_count="$(bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/get-commits-behind-count.sh)" @@ -973,7 +973,7 @@ branch-is-up-to-date-with-target-post: exit_codes: - 123 -clang-format-check: +.clang-format-check: extends: - .test-job-linux - .rules-merge-request @@ -1223,7 +1223,7 @@ renderer-pytest-on-merge-request: - .rules-merge-request-no-draft timeout: "90 minutes" tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 stage: compare variables: REPORT_XML: "report--$CI_JOB_NAME-$CI_JOB_ID--sha-$CI_COMMIT_SHORT_SHA.xml" @@ -1300,7 +1300,7 @@ ivas-pytest-on-merge-request: REPORT_HTML: "report--ivas_pytest_on_merge_request-$CI_JOB_ID--sha-$CI_COMMIT_SHORT_SHA.html" REPORT_CSV: "report--ivas_pytest_on_merge_request-$CI_JOB_ID--sha-$CI_COMMIT_SHORT_SHA.csv" tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 script: - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh - source "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/build-merge-target-binaries.sh @@ -1364,7 +1364,7 @@ split-rendering-pytest-on-merge-request: - .test-job-linux-compares-to-fixed-target - .rules-merge-request-no-draft tags: - - ivas-linux-fast + - test-nokia-basop-linux-runner-2 timeout: "60 minutes" stage: compare variables: @@ -1613,9 +1613,10 @@ lc3-wrapper-unit-test: # from float # test renderer executable with cmake + asan # TODO: turn into scheduled job -.renderer-asan: +renderer-asan: extends: - .test-job-linux + - .rules-merge-request-to-main needs: ["build-codec-linux-cmake"] stage: test script: @@ -1624,7 +1625,7 @@ lc3-wrapper-unit-test: - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=asan -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true - cmake --build cmake-build -- -j - testcase_timeout=180 - - python3 -m pytest -q -n auto -rA --junit-xml=report-junit.xml tests/renderer_short/test_renderer.py --testcase_timeout=$testcase_timeout + - python3 -m pytest -q --tb=no -n auto --log-level=INFO --junit-xml=report-junit.xml tests/renderer_short/test_renderer.py --testcase_timeout=$testcase_timeout artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" @@ -1640,20 +1641,22 @@ lc3-wrapper-unit-test: # from float # test renderer executable with cmake + msan # TODO: turn into scheduled job -.renderer-msan: +renderer-msan: extends: - .test-job-linux + - .rules-merge-request-to-main needs: ["build-codec-linux-cmake"] stage: test tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 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 - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=msan -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true - cmake --build cmake-build -- -j - testcase_timeout=180 - - python3 -m pytest -q -n auto -rA --junit-xml=report-junit.xml tests/renderer_short/test_renderer.py --testcase_timeout=$testcase_timeout + - cat pytest.ini + - python3 -m pytest -q --tb=no -n auto --log-level=INFO --junit-xml=report-junit.xml tests/renderer_short/test_renderer.py --testcase_timeout=$testcase_timeout artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" @@ -1669,20 +1672,22 @@ lc3-wrapper-unit-test: # from float # test renderer executable with cmake + usan # TODO: turn into scheduled job -.renderer-usan: +renderer-usan: extends: - .test-job-linux + - .rules-merge-request-to-main needs: ["build-codec-linux-cmake"] stage: test tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 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 - - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=usan -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true + - python3 scripts/basop_create_ignorelist_for_ubsan.py + - cmake -B cmake-build -G "Unix Makefiles" -DIGNORELIST=1 -DCLANG=usan -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true - cmake --build cmake-build -- -j - 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 -rA --junit-xml=report-junit.xml tests/renderer_short/test_renderer.py --testcase_timeout=$testcase_timeout + - UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1,print_stacktrace=1,log_path=usan_log_catchall python3 -m pytest -q --tb=no -n auto --log-level=INFO --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=$? @@ -1780,7 +1785,7 @@ codec-msan: extends: - .sanitizer-selftest-on-mr tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 script: - CLANG_NUM=1 - SELFTEST_SANITY_TIMEOUT=180 @@ -1793,7 +1798,7 @@ codec-asan: extends: - .sanitizer-selftest-on-mr tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 script: - CLANG_NUM=2 - SELFTEST_SANITY_TIMEOUT=180 @@ -1806,7 +1811,7 @@ codec-usan: extends: - .sanitizer-selftest-on-mr tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 script: - CLANG_NUM=3 - SELFTEST_SANITY_TIMEOUT=180 @@ -1973,7 +1978,7 @@ ivas-pytest-compare_ref-long-dec: - .rules-pytest-long - .test-job-linux tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 - high-memory-capacity before_script: - USE_LTV=1 @@ -2000,7 +2005,7 @@ ivas-pytest-compare_ref-long-dec-lev-10: - .rules-pytest-long - .test-job-linux tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 - high-memory-capacity before_script: - USE_LTV=1 @@ -2027,7 +2032,7 @@ ivas-pytest-compare_ref-long-dec-lev+10: - .rules-pytest-long - .test-job-linux tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 - high-memory-capacity before_script: - USE_LTV=1 @@ -2042,7 +2047,7 @@ ivas-pytest-compare_ref-long-fx-fx: - .rules-pytest-long-fx-fx - .test-job-linux tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 before_script: - USE_LTV=1 - REF_ENCODER_PATH=./$DUT_ENCODER_PATH @@ -2056,7 +2061,7 @@ ivas-pytest-compare_ref-long-fx-fx-lev-10: - .rules-pytest-long-fx-fx - .test-job-linux tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 before_script: - USE_LTV=1 - REF_ENCODER_PATH=./$DUT_ENCODER_PATH @@ -2070,7 +2075,7 @@ ivas-pytest-compare_ref-long-fx-fx-lev+10: - .rules-pytest-long-fx-fx - .test-job-linux tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 before_script: - USE_LTV=1 - REF_ENCODER_PATH=./$DUT_ENCODER_PATH @@ -2085,7 +2090,7 @@ ivas-pytest-msan: extends: - .test-job-linux tags: - - ivas-linux-fast + - test-nokia-basop-linux-runner-2 resource_group: basop-long-sanitizers rules: - if: $CI_PIPELINE_SOURCE == 'push' @@ -2104,7 +2109,7 @@ ivas-pytest-asan: extends: - .test-job-linux tags: - - ivas-linux-fast + - test-nokia-basop-linux-runner-2 resource_group: basop-long-sanitizers rules: - if: $CI_PIPELINE_SOURCE == 'push' @@ -2123,7 +2128,7 @@ ivas-pytest-usan: extends: - .test-job-linux tags: - - ivas-linux-fast + - test-nokia-basop-linux-runner-2 resource_group: basop-long-sanitizers rules: - if: $CI_PIPELINE_SOURCE == 'push' @@ -2327,7 +2332,7 @@ be-2-evs-26444: - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "evs-26444" - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main" tags: - - be-2-evs-basop + - test-nokia-basop-linux-runner-2 stage: test needs: ["build-codec-linux-make"] timeout: "30 minutes" @@ -2681,7 +2686,7 @@ ivas-conformance-linux: pages: stage: deploy tags: - - ivas-linux + - test-nokia-basop-linux-runner-2 rules: - if: $UPDATE_PAGES script: diff --git a/main-float.yml b/main-float.yml index c04482381a369cb3fc7c37ce4c0d8a7143a70d3b..0247becfc44c90607c1fe92d015511375fe02432 100644 --- a/main-float.yml +++ b/main-float.yml @@ -299,7 +299,7 @@ branch-is-up-to-date-with-main-post: - if: $CI_PIPELINE_SOURCE == 'push' when: never tags: - - ivas-linux-fast + - ubuntu_24_04 needs: [] before_script: - !reference [.job-linux, before_script] @@ -388,6 +388,8 @@ codec-smoke-test-float: - .smoke-test-template - .rules-merge-request-to-main timeout: "20 minutes" + tags: + - ubuntu_24_04 stage: test needs: [ @@ -435,7 +437,7 @@ codec-msan: - .sanitizer-selftest-on-mr - .sanitizer-selftest-anchor tags: - - ivas-linux-fast + - ubuntu_24_04 before_script: - !reference [.job-linux, before_script] - CLANG_NUM=1 @@ -461,7 +463,7 @@ codec-usan: - .sanitizer-selftest-on-mr - .sanitizer-selftest-anchor tags: - - ivas-linux-fast + - ubuntu_24_04 before_script: - !reference [.job-linux, before_script] - CLANG_NUM=3 @@ -573,7 +575,7 @@ renderer-asan: variables: SANITIZER_BUILD_STRING: "asan" script: - - python3 -m pytest -q --tb=no -n auto --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/renderer/test_renderer.py tests/split_rendering/test_split_rendering.py --testcase_timeout=$testcase_timeout + - python3 -m pytest -q --tb=no -n auto --log-level=INFO --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/renderer/test_renderer.py tests/split_rendering/test_split_rendering.py --testcase_timeout=$testcase_timeout artifacts: expose_as: "renderer asan result" @@ -584,7 +586,7 @@ renderer-msan: variables: SANITIZER_BUILD_STRING: "msan" script: - - python3 -m pytest -q --tb=no -n auto --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/renderer/test_renderer.py tests/split_rendering/test_split_rendering.py --testcase_timeout=$testcase_timeout + - python3 -m pytest -q --tb=no -n auto --log-level=INFO --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/renderer/test_renderer.py tests/split_rendering/test_split_rendering.py --testcase_timeout=$testcase_timeout artifacts: expose_as: "renderer msan result" @@ -595,7 +597,7 @@ renderer-usan: variables: SANITIZER_BUILD_STRING: "usan" script: - - UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1,print_stacktrace=1 python3 -m pytest -q --tb=no -n auto --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/renderer/test_renderer.py tests/split_rendering/test_split_rendering.py --testcase_timeout=$testcase_timeout + - UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1,print_stacktrace=1 python3 -m pytest -q --tb=no -n auto --log-level=INFO --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/renderer/test_renderer.py tests/split_rendering/test_split_rendering.py --testcase_timeout=$testcase_timeout artifacts: expose_as: "renderer usan result" @@ -974,7 +976,7 @@ voip-be-on-merge-request: - make -j - python3 -m pytest tests/test_be_for_jbm_neutral_dly_profile.py -clang-format-check: +.clang-format-check: extends: - .test-job-linux - .rules-merge-request-to-main @@ -1037,10 +1039,7 @@ check-first-frame-is-sid: artifacts: paths: - - logs_enc - - logs_dec_msan - - logs_dec_asan - - logs_dec_usan + - logs when: always name: "$CI_JOB_NAME--$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--sidstart" expose_as: "logs-sidstart" @@ -1478,7 +1477,7 @@ test-long-self-test: resource_group: ivas-long-self-test-resource timeout: "50 minutes" tags: - - ivas-linux-fast + - ubuntu_24_04 rules: - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'test-long-self-test' allow_failure: @@ -1620,7 +1619,7 @@ ltv-msan: - if: $SANITIZER_SCHEDULE_E timeout: 5 hours tags: - - ivas-linux-fast + - ubuntu_24_04 before_script: - !reference [.job-linux, before_script] - CLANG_NUM=1 @@ -1638,7 +1637,7 @@ ltv-asan: when: delayed start_in: 5 hours tags: - - ivas-linux-fast + - ubuntu_24_04 timeout: 5 hours before_script: - !reference [.job-linux, before_script] @@ -1657,7 +1656,7 @@ ltv-usan: when: delayed start_in: 8 hours tags: - - ivas-linux-fast + - ubuntu_24_04 timeout: 5 hours before_script: - !reference [.job-linux, before_script] @@ -1672,7 +1671,7 @@ ltv-usan: stage: test tags: - sanitizer_test_main - - ivas-linux-fast + - ubuntu_24_04 artifacts: name: "$CI_JOB_NAME--main--sha-$CI_COMMIT_SHORT_SHA" expire_in: 7 weeks @@ -2196,7 +2195,7 @@ sanitizer-test-osba-planar-hoa3-ism4: - .test-job-linux-needs-testv-dir - .rules-main-scheduled tags: - - ivas-linux-fast + - ubuntu_24_04 stage: test rules: - if: $COVERAGE_TEST @@ -2229,7 +2228,7 @@ coverage-merge: - .rules-main-scheduled - .test-job-linux-needs-testv-dir tags: - - ivas-linux-fast + - ubuntu_24_04 stage: test rules: - if: $COVERAGE_TEST