diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2b06c2d788b84e1c39393ceec0ae188e82b00d9e..842aefbc7a8e3de37f20683cd4be07ae8bc45dfe 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,16 +20,26 @@ variables: # They can be overwritten in the job templates to e.g. only test encoder or decoder in the chain DUT_ENCODER_PATH: "./IVAS_cod" DUT_DECODER_PATH: "./IVAS_dec" + DUT_RENDERER_PATH: "./IVAS_rend" + DUT_POST_RENDERER_PATH: "./ISAR_post_rend" REF_ENCODER_PATH: "./IVAS_cod_ref" REF_DECODER_PATH: "./IVAS_dec_ref" + REF_RENDERER_PATH: "./IVAS_rend_ref" + REF_POST_RENDERER_PATH: "./ISAR_post_rend_ref" MERGE_TARGET_ENCODER_PATH: "./IVAS_cod_merge_target" MERGE_TARGET_DECODER_PATH: "./IVAS_dec_merge_target" + MERGE_TARGET_RENDERER_PATH: "./IVAS_rend_merge_target" + MERGE_TARGET_POST_RENDERER_PATH: "./ISAR_post_rend_merge_target" # These path variables are used for building the binaries # They should never be overwritten! REF_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_cod_ref" REF_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_dec_ref" + REF_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_rend_ref" + REF_POST_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./ISAR_post_rend_ref" MERGE_TARGET_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_cod_merge_target" MERGE_TARGET_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_dec_merge_target" + MERGE_TARGET_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_rend_merge_target" + MERGE_TARGET_POST_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./ISAR_post_rend_merge_target" LEVEL_SCALING: "1.0" IVAS_PIPELINE_NAME: '' BASOP_CI_BRANCH_PC_REPO: "basop-ci-branch-pc" @@ -160,6 +170,34 @@ stages: echo "Commit time was $CI_COMMIT_TIMESTAMP" ("echo 'System time is'", "Get-Date -Format 'dddd dd/MM/yyyy HH:mm K'") | Invoke-Expression +.activate-debug-mode-info-if-set: &activate-debug-mode-info-if-set + - if [ "$BUILD_WITH_DEBUG_MODE_INFO" = "true" ]; then + - sed -i.bak -e "s/\/\*\ *\(#define\ *DEBUGGING\ *\)\*\//\1/g" lib_com/options.h + - sed -i.bak -e "s/\/\*\ *\(#define\ *DEBUG_MODE_INFO\ *\)\*\//\1/g" lib_com/options.h + - fi + +.build-merge-target-binaries: &build-merge-target-binaries + - current_commit_sha=$(git rev-parse HEAD) + ### build merge target binaries + - if [ -f $MERGE_TARGET_COMMIT_FILE ]; then + - MERGE_REQUEST_TARGET="$(cat "$MERGE_TARGET_COMMIT_FILE")" + - else + - echo "MERGE_TARGET_COMMIT_FILE ($MERGE_TARGET_COMMIT_FILE) does not exist, exiting!" + - exit 1 + - fi + - git checkout $MERGE_REQUEST_TARGET + - *activate-debug-mode-info-if-set + - make clean + - make -j >> /dev/null + - mv ./IVAS_cod ./$MERGE_TARGET_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY + - mv ./IVAS_dec ./$MERGE_TARGET_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY + - mv ./IVAS_rend ./$MERGE_TARGET_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY + - mv ./ISAR_post_rend ./$MERGE_TARGET_POST_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY + ### Return to current branch + - git restore . + - git rev-parse HEAD > $MERGE_TARGET_COMMIT_FILE + - git checkout $current_commit_sha + # From float CI .mr-fetch-target-branch: &mr-fetch-target-branch # first delete local target branch to avoid conflicts when branch is cached and there are merge conflicts during fetching @@ -174,35 +212,16 @@ stages: # From float CI .merge-request-comparison-setup-codec: &merge-request-comparison-setup-codec - ### build test binaries, initial clean for paranoia reasons - - make clean - - make -j - - mv IVAS_cod IVAS_cod_test - - mv IVAS_dec IVAS_dec_test - - mv IVAS_rend IVAS_rend_test - - git restore . + - *build-merge-target-binaries - ### store the current commit hash - - source_branch_commit_sha=$(git rev-parse HEAD) + # need to rename to match the conventions for the renderer tests... + - mv $MERGE_TARGET_ENCODER_PATH $REF_ENCODER_PATH + - mv $MERGE_TARGET_DECODER_PATH $REF_DECODER_PATH + - mv $MERGE_TARGET_RENDERER_PATH $REF_RENDERER_PATH + - mv $MERGE_TARGET_POST_RENDERER_PATH $REF_POST_RENDERER_PATH - ### checkout version to compare against - - *mr-fetch-target-branch - - *mr-get-target-commit - - git checkout $target_commit - - echo "Building reference codec at commit $target_commit" - - ### build reference binaries - make clean - make -j - - mv IVAS_cod IVAS_cod_ref - - mv IVAS_dec IVAS_dec_ref - - mv IVAS_rend IVAS_rend_ref - - git restore . - - # rename test binaries back - - mv IVAS_cod_test IVAS_cod - - mv IVAS_dec_test IVAS_dec - - mv IVAS_rend_test IVAS_rend .merge-request-comparison-check: &merge-request-comparison-check - echo "--------------- Running merge-request-comparison-check anchor ---------------" @@ -211,13 +230,6 @@ stages: - if [ $exit_code -ne 0 ] && [ $non_be_flag != 0 ]; then echo "Non-bitexact cases with non-BE tag encountered"; exit $EXIT_CODE_NON_BE; fi - exit 0 - -.activate-debug-mode-info-if-set: &activate-debug-mode-info-if-set - - if [ "$BUILD_WITH_DEBUG_MODE_INFO" = "true" ]; then - - sed -i.bak -e "s/\/\*\ *\(#define\ *DEBUGGING\ *\)\*\//\1/g" lib_com/options.h - - sed -i.bak -e "s/\/\*\ *\(#define\ *DEBUG_MODE_INFO\ *\)\*\//\1/g" lib_com/options.h - - fi - .build-float-ref-binaries: &build-float-ref-binaries - git rev-parse HEAD > $CUT_COMMIT_FILE - current_commit_sha=$(git rev-parse HEAD) @@ -229,28 +241,13 @@ stages: - make -j >> /dev/null - mv ./IVAS_cod ./$REF_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY - mv ./IVAS_dec ./$REF_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY - - mv ./IVAS_rend ./IVAS_rend_ref + - mv ./IVAS_rend ./$REF_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY + - mv ./ISAR_post_rend ./$REF_POST_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY ### Return to current branch - git restore . - git rev-parse HEAD > $FLOAT_REF_COMMIT_FILE - git checkout $current_commit_sha -.build-merge-target-binaries: &build-merge-target-binaries - - current_commit_sha=$(git rev-parse HEAD) - ### build merge target binaries - - git checkout $CI_MERGE_REQUEST_TARGET_BRANCH_NAME - - git pull origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME - - *activate-debug-mode-info-if-set - - make clean - - make -j >> /dev/null - - mv ./IVAS_cod ./$MERGE_TARGET_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY - - mv ./IVAS_dec ./$MERGE_TARGET_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY - - mv ./IVAS_rend ./IVAS_rend_merge_target - ### Return to current branch - - git restore . - - git rev-parse HEAD > $MERGE_TARGET_COMMIT_FILE - - git checkout $current_commit_sha - .build-float-ref-and-dut-binaries: &build-float-ref-and-dut-binaries ### build reference binaries - *build-float-ref-binaries @@ -291,13 +288,6 @@ stages: - echo "Applying level scaling in scripts/testv using scale=$LEVEL_SCALING" - tests/scale_pcm.py ./scripts/testv/ $LEVEL_SCALING -.merge-request-comparison-check: &merge-request-comparison-check - - echo "--------------- Running merge-request-comparison-check anchor ---------------" - - if [ $zero_errors != 1 ]; then echo "Run errors encountered!"; exit $EXIT_CODE_FAIL; fi - - if [ $exit_code -eq 1 ] && [ $non_be_flag == 0 ]; then echo "Non-bitexact cases without non-BE tag encountered!"; exit $EXIT_CODE_FAIL; fi - - if [ $exit_code -eq 1 ] && [ $non_be_flag != 0 ]; then echo "Non-bitexact cases with non-BE tag encountered"; exit $EXIT_CODE_NON_BE; fi - - exit 0 - .update-ltv-repo: &update-ltv-repo - cd $LTV_DIR - git pull @@ -437,43 +427,6 @@ stages: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' when: never -# --------------------------------------------------------------- -# Job templates -# --------------------------------------------------------------- - -# When designing templates, try not to use too much inheritance and -# if multiple templates and extended on, remember that on conflict, -# latest overwrites the parameter. - -# templates for rules -.rules-basis: - rules: - - if: $MIRROR_ACCESS_TOKEN # Don't run in the mirror update pipeline (only then MIRROR_ACCESS_TOKEN is defined) - when: never - - if: $CI_PIPELINE_SOURCE == 'schedule' # Don't run in any scheduled pipelines by default (use schedule templates below to enable again for certain conditions) - when: never - - if: $CI_PIPELINE_SOURCE == 'trigger' # Don't run triggered pipeline by default - when: never - - if: $MANUAL_PIPELINE_TYPE == 'test-be-release' # Skip all the normal jobs when testing manually against release codec - when: never - - if: $MANUAL_PIPELINE_TYPE == 'test-long-self-test' # Skip all the normal jobs when testing manually against release codec - when: never - - if: $MANUAL_PIPELINE_TYPE == 'ivas-conformance' - when: never - - if: $MANUAL_PIPELINE_TYPE == 'ivas-conformance-linux' - when: never - - if: $MANUAL_PIPELINE_TYPE == 'check-clipping' - - if: $MANUAL_PIPELINE_TYPE == 'test-branch-vs-input-passthrough' - when: never - - when: on_success - -.rules-merge-request: - extends: .rules-basis - rules: - - if: $CI_PIPELINE_SOURCE == 'merge_request_event' - - if: $CI_PIPELINE_SOURCE == 'push' - when: never - .rules-merge-request-no-draft: extends: .rules-basis rules: @@ -497,6 +450,13 @@ stages: tags: - ivas-linux +.test-job-linux-compares-to-fixed-target: + extends: .test-job-linux + needs: + - job: branch-is-up-to-date-with-target-pre + artifacts: true + - job: build-codec-linux-make + .build-job-linux: stage: build timeout: "2 minutes" @@ -510,9 +470,9 @@ stages: - ivas-windows .print-results-banner: &print-results-banner - - set +x - - echo "" - - echo -e "==================================================================================================================\n================================================== TEST RESULTS ==================================================\n==================================================================================================================\n" + - set +x + - echo "" + - echo -e "==================================================================================================================\n================================================== TEST RESULTS ==================================================\n==================================================================================================================\n" # template for test jobs on linux that need the TESTV_DIR .test-job-linux-needs-testv-dir: @@ -657,7 +617,7 @@ stages: .check-be-to-target-anchor: &check-be-to-target-anchor stage: check-be - needs: ["build-codec-linux-make"] + needs: ["build-codec-linux-make","branch-is-up-to-date-with-target-pre"] timeout: "300 minutes" variables: XML_REPORT: "report--$CI_JOB_NAME--sha-$CI_COMMIT_SHORT_SHA.xml" @@ -837,10 +797,7 @@ stages: - python3 ci/basop-pages/create_summary_page.py $SUMMARY_HTML_ARTIFACT_NAME $CI_JOB_ID $CI_JOB_NAME $IMAGES_ARTIFACT_NAME --measures $MEASURES_FOR_REPORT ### run main now - - git checkout $CI_MERGE_REQUEST_TARGET_BRANCH_NAME - - git pull origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME - - make clean - - make -j >> /dev/null + - *build-merge-target-binaries # need to restore cache again - *overwrite-pytest-cache-with-artifact - python3 -m pytest --tb=no -q $TEST_SUITE -v --keep_files --create_cut --html=$HTML_REPORT_MAIN --self-contained-html --junit-xml=$XML_REPORT_MAIN $comp_args --ref_encoder_path $REF_ENCODER_PATH --ref_decoder_path $REF_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || true @@ -1050,37 +1007,6 @@ uninterruptible: # Validation jobs # --------------------------------------------------------------- -branch-is-up-to-date-with-target-pre: - extends: - - .rules-merge-request-to-main-pc - stage: prevalidate - needs: [] - tags: - - ivas-linux - script: - - *get-commits-behind-count - - echo $commits_behind_count - - | - if [ $commits_behind_count -ne 0 ]; then - echo "Your branch is behind the target branch, run 'git pull origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME' to update." - exit 1 - fi - -branch-is-up-to-date-with-target-post: - extends: - - .rules-merge-request-to-main-pc - stage: postvalidate - tags: - - ivas-linux - script: - - *get-commits-behind-count - - echo $commits_behind_count - - | - if [ $commits_behind_count -ne 0 ]; then - echo "Your branch is behind the target branch, possibly main changed during your pipeline run, run 'git pull origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME' to update." - exit 1 - fi - # fail pipeline in the final stage for pipelines on Draft MRs # this also only runs on Draft MRs, so should always fail fail-pipeline-if-in-draft: @@ -1126,6 +1052,13 @@ branch-is-up-to-date-with-target-pre: echo -e "Your branch is $commits_behind_count commits behind the target branch, run\n\tgit pull origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME\nto update." exit 1 fi + - git fetch origin "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" + - TARGET_COMMIT="$(git rev-parse "origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME")" + - echo "TARGET_COMMIT is $TARGET_COMMIT" + - echo "$TARGET_COMMIT" > "$MERGE_TARGET_COMMIT_FILE" + artifacts: + paths: + - $MERGE_TARGET_COMMIT_FILE branch-is-up-to-date-with-target-post: extends: @@ -1138,8 +1071,11 @@ branch-is-up-to-date-with-target-post: - | if [ $commits_behind_count -ne 0 ]; then echo -e "Your branch is $commits_behind_count commits behind the target branch, possibly main changed during your pipeline run, run\n\tgit pull origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME\nto update." - exit 1 + exit 123 fi + allow_failure: + exit_codes: + - 123 clang-format-check: extends: @@ -1382,8 +1318,8 @@ lc3-wrapper-unit-test: split-rendering-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir + - .test-job-linux-compares-to-fixed-target - .rules-merge-request-to-main-pc - needs: ["build-codec-linux-make"] timeout: "60 minutes" stage: compare script: @@ -1391,6 +1327,7 @@ split-rendering-pytest-on-merge-request: - *update-scripts-repo - *get-commits-behind-count - *check-commits-behind-count-in-compare-jobs + - *merge-request-comparison-setup-codec # some helper variables - "|| true" to prevent failures from grep not finding anything # write to temporary file as workaround for failures observed with piping echo @@ -1403,36 +1340,24 @@ split-rendering-pytest-on-merge-request: # store the current commit hash - source_branch_commit_sha=$(git rev-parse HEAD) - - *mr-fetch-target-branch - - *mr-get-target-commit - - git checkout $target_commit - - echo "Building reference codec at commit $target_commit" - - # build reference binaries - - make -j - - mv IVAS_cod IVAS_cod_ref - - mv IVAS_dec IVAS_dec_ref - - mv IVAS_rend IVAS_rend_ref - ### If ref_using_target is not set, checkout the source branch to use scripts and input from there - if [ $ref_using_target == 0 ]; then git restore lib_com/options.h; fi # Revert changes back before checking out another branch to avoid conflicts - if [ $ref_using_target == 0 ]; then git checkout $source_branch_commit_sha; fi - exit_code=0 - testcase_timeout=60 - - python3 -m pytest -q --log-level ERROR -n auto -rA --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/split_rendering/test_split_rendering.py --create_ref --testcase_timeout=$testcase_timeout || exit_code=$? - # back to source branch - - git restore lib_com/options.h # Revert changes back before checking out another branch to avoid conflicts - - git checkout $source_branch_commit_sha - - make clean - - make -j + # remporary solution to make it work with and without https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec/-/merge_requests/2181 + - mv $DUT_POST_RENDERER_PATH ISAR_post_rend_tmp + - cp $REF_POST_RENDERER_PATH $DUT_POST_RENDERER_PATH + - python3 -m pytest -q --log-level ERROR -n auto -rA --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/split_rendering/test_split_rendering.py --create_ref --testcase_timeout=$testcase_timeout || exit_code=$? + - mv ISAR_post_rend_tmp $DUT_POST_RENDERER_PATH ### Run test using scripts and input from main - if [ $ref_using_target == 1 ]; then git restore lib_com/options.h; fi # Revert changes back before checking out another branch to avoid conflicts - if [ $ref_using_target == 1 ]; then git checkout $source_branch_commit_sha; fi - comp_args="--mld --ssnr --odg" - - echo "$comp_args" + - echo "$comp_args" # run test - python3 -m pytest -q --log-level ERROR -n auto -rA --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/split_rendering/test_split_rendering.py $comp_args --create_cut --testcase_timeout=$testcase_timeout || exit_code=$? @@ -1475,7 +1400,7 @@ split-rendering-pytest-on-merge-request: check-be-to-target-short-enc-0db: extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1489,7 +1414,7 @@ check-be-to-target-short-enc-0db: check-be-to-target-short-enc-+10db: extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1503,7 +1428,7 @@ check-be-to-target-short-enc-+10db: check-be-to-target-short-enc--10db: extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1517,7 +1442,7 @@ check-be-to-target-short-enc--10db: check-be-to-target-short-dec-0db: extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1531,7 +1456,7 @@ check-be-to-target-short-dec-0db: check-be-to-target-short-dec-+10db: extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1545,7 +1470,7 @@ check-be-to-target-short-dec-+10db: check-be-to-target-short-dec--10db: extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1562,9 +1487,11 @@ check-regressions-short-enc-0db: needs: - job: "check-be-to-target-short-enc-0db" artifacts: true + - job: branch-is-up-to-date-with-target-pre + artifacts: true + - job: build-codec-linux-make extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1579,9 +1506,11 @@ check-regressions-short-enc-+10db: needs: - job: "check-be-to-target-short-enc-+10db" artifacts: true + - job: branch-is-up-to-date-with-target-pre + artifacts: true + - job: build-codec-linux-make extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1596,9 +1525,11 @@ check-regressions-short-enc--10db: needs: - job: "check-be-to-target-short-enc--10db" artifacts: true + - job: branch-is-up-to-date-with-target-pre + artifacts: true + - job: build-codec-linux-make extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1613,9 +1544,11 @@ check-regressions-short-dec-0db: needs: - job: "check-be-to-target-short-dec-0db" artifacts: true + - job: branch-is-up-to-date-with-target-pre + artifacts: true + - job: build-codec-linux-make extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1630,9 +1563,11 @@ check-regressions-short-dec-+10db: needs: - job: "check-be-to-target-short-dec-+10db" artifacts: true + - job: branch-is-up-to-date-with-target-pre + artifacts: true + - job: build-codec-linux-make extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1647,9 +1582,11 @@ check-regressions-short-dec--10db: needs: - job: "check-be-to-target-short-dec--10db" artifacts: true + - job: branch-is-up-to-date-with-target-pre + artifacts: true + - job: build-codec-linux-make extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1961,7 +1898,7 @@ coverage-test-on-main-scheduled: # Build DuT binaries with GCOV - make clean >> /dev/null - make GCOV=1 -j - - cp IVAS_rend IVAS_rend_ref # Copy to ensure instrumented renderer is run in the first pytest call + - cp IVAS_rend $REF_RENDERER_PATH # Copy to ensure instrumented renderer is run in the first pytest call - testcase_timeout=$TESTCASE_TIMEOUT_LTV - exit_code_dec=0 @@ -2128,8 +2065,8 @@ voip-be-on-merge-request: renderer-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir + - .test-job-linux-compares-to-fixed-target - .rules-merge-request-to-main-pc - needs: ["build-codec-linux-make"] # TODO: set reasonable timeout, will most likely take less timeout: "20 minutes" tags: @@ -2184,13 +2121,13 @@ renderer-pytest-on-merge-request: ivas-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir + - .test-job-linux-compares-to-fixed-target - .rules-merge-request-to-main-pc stage: compare # TODO: broken dependency needs to be removed temporarily, see above # note: this step doesn't really depend on codec-smoke-test # it's just pointless to run this step when the smoke test fails and the smoke test should be reasonably fast # thus, overall, this should save time - needs: ["build-codec-linux-make"] #, "codec-smoke-test"] timeout: "40 minutes" tags: - ivas-linux diff --git a/.gitlab-ci/variables.yml b/.gitlab-ci/variables.yml index 96ef1f5076cfa2fd17dd770b210f1d75d79f323b..cb883cc28acc8a1976877b99494eed7ba7a88a4c 100644 --- a/.gitlab-ci/variables.yml +++ b/.gitlab-ci/variables.yml @@ -12,16 +12,26 @@ variables: # They can be overwritten in the job templates to e.g. only test encoder or decoder in the chain DUT_ENCODER_PATH: "./IVAS_cod" DUT_DECODER_PATH: "./IVAS_dec" + DUT_RENDERER_PATH: "./IVAS_rend" + DUT_POST_RENDERER_PATH: "./ISAR_post_rend" REF_ENCODER_PATH: "./IVAS_cod_ref" REF_DECODER_PATH: "./IVAS_dec_ref" + REF_RENDERER_PATH: "./IVAS_rend_ref" + REF_POST_RENDERER_PATH: "./ISAR_post_rend_ref" MERGE_TARGET_ENCODER_PATH: "./IVAS_cod_merge_target" MERGE_TARGET_DECODER_PATH: "./IVAS_dec_merge_target" + MERGE_TARGET_RENDERER_PATH: "./IVAS_rend_merge_target" + MERGE_TARGET_POST_RENDERER_PATH: "./ISAR_post_rend_merge_target" # These path variables are used for building the binaries # They should never be overwritten! REF_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_cod_ref" REF_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_dec_ref" + REF_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_rend_ref" + REF_POST_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./ISAR_post_rend_ref" MERGE_TARGET_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_cod_merge_target" MERGE_TARGET_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_dec_merge_target" + MERGE_TARGET_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_rend_merge_target" + MERGE_TARGET_POST_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./ISAR_post_rend_merge_target" LEVEL_SCALING: "1.0" BASOP_CI_BRANCH_PC_REPO: "basop-ci-branch" PRM_FILES: "scripts/config/self_test.prm scripts/config/self_test_ltv.prm"