From 6ea80024df77b2923d69be8e00238b6321420481 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Tue, 22 Jul 2025 09:14:49 +0200 Subject: [PATCH 01/20] Keep same commit in pipelines --- .gitlab-ci.yml | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9482f081f..9b0ffb3b4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -238,8 +238,13 @@ stages: .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 + - if [ -f $MERGE_REQUEST_TARGET_FILE ]; then + - MERGE_REQUEST_TARGET=$(echo $MERGE_REQUEST_TARGET_FILE) + - else + - echo "MERGE_REQUEST_TARGET_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 @@ -496,6 +501,9 @@ stages: .test-job-linux: tags: - ivas-linux + needs: + - job: branch-is-up-to-date-with-target-pre + - artifacts: true .build-job-linux: stage: build @@ -1065,6 +1073,12 @@ branch-is-up-to-date-with-target-pre: echo "Your branch is behind the target branch, run 'git pull origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME' to update." exit 1 fi + - git fetch $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: + - $MERGE_TARGET_COMMIT_FILE branch-is-up-to-date-with-target-post: extends: @@ -1078,8 +1092,11 @@ branch-is-up-to-date-with-target-post: - | 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 + exit 123 fi + allow_failure: + exit_codes: + - 123 # fail pipeline in the final stage for pipelines on Draft MRs # this also only runs on Draft MRs, so should always fail @@ -1126,6 +1143,12 @@ 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 $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: + - $MERGE_TARGET_COMMIT_FILE branch-is-up-to-date-with-target-post: extends: @@ -1138,8 +1161,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: -- GitLab From 63d9b9e93004e12533da587f3d04fc8d86c81fc4 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Tue, 22 Jul 2025 09:22:03 +0200 Subject: [PATCH 02/20] Fix syntax error for artifact --- .gitlab-ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9b0ffb3b4..1a87d0e44 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1078,7 +1078,8 @@ branch-is-up-to-date-with-target-pre: - echo "TARGET_COMMIT is $TARGET_COMMIT" - echo $TARGET_COMMIT > $MERGE_TARGET_COMMIT_FILE artifacts: - - $MERGE_TARGET_COMMIT_FILE + paths: + - $MERGE_TARGET_COMMIT_FILE branch-is-up-to-date-with-target-post: extends: @@ -1148,7 +1149,8 @@ branch-is-up-to-date-with-target-pre: - echo "TARGET_COMMIT is $TARGET_COMMIT" - echo $TARGET_COMMIT > $MERGE_TARGET_COMMIT_FILE artifacts: - - $MERGE_TARGET_COMMIT_FILE + paths: + - $MERGE_TARGET_COMMIT_FILE branch-is-up-to-date-with-target-post: extends: -- GitLab From 34e13b27475d8582675bf996b732ba2453324c54 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Tue, 22 Jul 2025 13:47:44 +0200 Subject: [PATCH 03/20] Added .test-job-linux-needs-fixed-target --- .gitlab-ci.yml | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1a87d0e44..0e8e32361 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -501,10 +501,14 @@ stages: .test-job-linux: tags: - ivas-linux + +.test-job-linux-needs-fixed-target: + extends: .test-job-linux needs: - job: branch-is-up-to-date-with-target-pre - artifacts: true + .build-job-linux: stage: build timeout: "2 minutes" @@ -1410,6 +1414,7 @@ lc3-wrapper-unit-test: split-rendering-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir + - .test-job-linux-needs-fixed-target - .rules-merge-request-to-main-pc needs: ["build-codec-linux-make"] timeout: "60 minutes" @@ -1503,7 +1508,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-needs-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1517,7 +1522,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-needs-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1531,7 +1536,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-needs-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1545,7 +1550,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-needs-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1559,7 +1564,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-needs-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1573,7 +1578,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-needs-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1592,7 +1597,7 @@ check-regressions-short-enc-0db: artifacts: true extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux + - .test-job-linux-needs-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1609,7 +1614,7 @@ check-regressions-short-enc-+10db: artifacts: true extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux + - .test-job-linux-needs-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1626,7 +1631,7 @@ check-regressions-short-enc--10db: artifacts: true extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux + - .test-job-linux-needs-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1643,7 +1648,7 @@ check-regressions-short-dec-0db: artifacts: true extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux + - .test-job-linux-needs-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1660,7 +1665,7 @@ check-regressions-short-dec-+10db: artifacts: true extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux + - .test-job-linux-needs-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1677,7 +1682,7 @@ check-regressions-short-dec--10db: artifacts: true extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux + - .test-job-linux-needs-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 -- GitLab From 87147385ffb5efa3d59404b9b748afcd22d0ad4b Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Tue, 22 Jul 2025 13:51:56 +0200 Subject: [PATCH 04/20] Fix fetch --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0e8e32361..8fbdb32a3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1077,7 +1077,7 @@ branch-is-up-to-date-with-target-pre: echo "Your branch is behind the target branch, run 'git pull origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME' to update." exit 1 fi - - git fetch $CI_MERGE_REQUEST_TARGET_BRANCH_NAME + - 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 @@ -1148,7 +1148,7 @@ 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 $CI_MERGE_REQUEST_TARGET_BRANCH_NAME + - 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 -- GitLab From a32b045308060f6940a4dca558baa4cda23ca9b6 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Tue, 22 Jul 2025 14:06:56 +0200 Subject: [PATCH 05/20] Fix name for commit target file --- .gitlab-ci.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8fbdb32a3..10c6af1ec 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -238,10 +238,10 @@ stages: .build-merge-target-binaries: &build-merge-target-binaries - current_commit_sha=$(git rev-parse HEAD) ### build merge target binaries - - if [ -f $MERGE_REQUEST_TARGET_FILE ]; then - - MERGE_REQUEST_TARGET=$(echo $MERGE_REQUEST_TARGET_FILE) + - if [ -f $MERGE_TARGET_COMMIT_FILE ]; then + - MERGE_REQUEST_TARGET=$(echo $MERGE_TARGET_COMMIT_FILE) - else - - echo "MERGE_REQUEST_TARGET_FILE does not exist, exiting!" + - echo "MERGE_TARGET_COMMIT_FILE does not exist, exiting!" - exit 1 - fi - git checkout $MERGE_REQUEST_TARGET @@ -2161,6 +2161,7 @@ voip-be-on-merge-request: renderer-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir + - .test-job-linux-needs-fixed-target - .rules-merge-request-to-main-pc needs: ["build-codec-linux-make"] # TODO: set reasonable timeout, will most likely take less @@ -2217,6 +2218,7 @@ renderer-pytest-on-merge-request: ivas-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir + - .test-job-linux-needs-fixed-target - .rules-merge-request-to-main-pc stage: compare # TODO: broken dependency needs to be removed temporarily, see above -- GitLab From a00905b74f3667f85b7cdad9c1187d28b27b7d28 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Tue, 22 Jul 2025 14:22:47 +0200 Subject: [PATCH 06/20] Fix needs in check-be-to-target-anchor, extends likely overwritten --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 10c6af1ec..63a460162 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -669,7 +669,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" -- GitLab From a342cc681afdcbd36102da4d7213e2e0f06dd8cb Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Tue, 22 Jul 2025 14:33:07 +0200 Subject: [PATCH 07/20] Syntax error --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 63a460162..ae5d0e477 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -239,7 +239,7 @@ stages: - current_commit_sha=$(git rev-parse HEAD) ### build merge target binaries - if [ -f $MERGE_TARGET_COMMIT_FILE ]; then - - MERGE_REQUEST_TARGET=$(echo $MERGE_TARGET_COMMIT_FILE) + - MERGE_REQUEST_TARGET=$(cat $MERGE_TARGET_COMMIT_FILE) - else - echo "MERGE_TARGET_COMMIT_FILE does not exist, exiting!" - exit 1 -- GitLab From 6ac80834679366fed644bd9da14a30b659c1379e Mon Sep 17 00:00:00 2001 From: norvell Date: Tue, 22 Jul 2025 19:52:44 +0200 Subject: [PATCH 08/20] Apply 7 suggestion(s) to 1 file(s) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Fabian Müller --- .gitlab-ci.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ae5d0e477..db0ca2794 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -239,7 +239,7 @@ stages: - 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) + - MERGE_REQUEST_TARGET="$(cat "$MERGE_TARGET_COMMIT_FILE")" - else - echo "MERGE_TARGET_COMMIT_FILE does not exist, exiting!" - exit 1 @@ -1077,10 +1077,10 @@ branch-is-up-to-date-with-target-pre: echo "Your branch is behind the target branch, run 'git pull origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME' to 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) + - 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 + - echo "$TARGET_COMMIT" > "$MERGE_TARGET_COMMIT_FILE" artifacts: paths: - $MERGE_TARGET_COMMIT_FILE @@ -1148,10 +1148,10 @@ 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) + - 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 + - echo "$TARGET_COMMIT" > "$MERGE_TARGET_COMMIT_FILE" artifacts: paths: - $MERGE_TARGET_COMMIT_FILE -- GitLab From 88ca330676b082ca9ac3265a124d41c25aa05c7d Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 23 Jul 2025 12:51:35 +0200 Subject: [PATCH 09/20] cleanup + make fixed ref commit work for comp stage --- .gitlab-ci.yml | 79 +++++++++++++++------------------------- .gitlab-ci/variables.yml | 10 +++++ 2 files changed, 39 insertions(+), 50 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index db0ca2794..215ab929b 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" @@ -174,35 +184,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 ---------------" @@ -229,7 +220,8 @@ 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 @@ -250,7 +242,8 @@ stages: - 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 + - 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 @@ -849,10 +842,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 @@ -1424,6 +1414,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 @@ -1436,36 +1427,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=$? @@ -1994,7 +1973,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 diff --git a/.gitlab-ci/variables.yml b/.gitlab-ci/variables.yml index 0c212d312..fc29579a5 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" -- GitLab From 8fb4f6ca1a37b34961a61183b900fb6cc6f27e7a Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 23 Jul 2025 13:54:13 +0200 Subject: [PATCH 10/20] move anchor up to be able to use it in other part --- .gitlab-ci.yml | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 215ab929b..a95babb6a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -170,6 +170,28 @@ stages: echo "Commit time was $CI_COMMIT_TIMESTAMP" ("echo 'System time is'", "Get-Date -Format 'dddd dd/MM/yyyy HH:mm K'") | Invoke-Expression +.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 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 @@ -227,28 +249,6 @@ stages: - 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 - - if [ -f $MERGE_TARGET_COMMIT_FILE ]; then - - MERGE_REQUEST_TARGET="$(cat "$MERGE_TARGET_COMMIT_FILE")" - - else - - echo "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 - .build-float-ref-and-dut-binaries: &build-float-ref-and-dut-binaries ### build reference binaries - *build-float-ref-binaries -- GitLab From e20e5aeb6c59944c24f474b8dbe36285f8911058 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 23 Jul 2025 13:55:39 +0200 Subject: [PATCH 11/20] move up yet another anchor --- .gitlab-ci.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a95babb6a..7a82008e4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -170,6 +170,12 @@ 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 @@ -224,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) -- GitLab From d621ca2ef5a4bc739ad73bb96a7066b0ac8b271a Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 23 Jul 2025 14:22:59 +0200 Subject: [PATCH 12/20] add additional info to printout + remove duplicates --- .gitlab-ci.yml | 43 +------------------------------------------ 1 file changed, 1 insertion(+), 42 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cae7e9a15..04d1dc4d1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -182,7 +182,7 @@ stages: - if [ -f $MERGE_TARGET_COMMIT_FILE ]; then - MERGE_REQUEST_TARGET="$(cat "$MERGE_TARGET_COMMIT_FILE")" - else - - echo "MERGE_TARGET_COMMIT_FILE does not exist, exiting!" + - echo "MERGE_TARGET_COMMIT_FILE ($MERGE_TARGET_COMMIT_FILE) does not exist, exiting!" - exit 1 - fi - git checkout $MERGE_REQUEST_TARGET @@ -1051,47 +1051,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 - - 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: - - .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 123 - fi - allow_failure: - exit_codes: - - 123 - # 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: -- GitLab From 30fab5792ed90906626301e528d50fb00a247f7b Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 23 Jul 2025 14:31:03 +0200 Subject: [PATCH 13/20] fix comparison merge target build there was a "needs:" in the job itself that overwrote the one coming in from the template --- .gitlab-ci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 04d1dc4d1..4d3827ded 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1364,7 +1364,6 @@ split-rendering-pytest-on-merge-request: - .test-job-linux-needs-testv-dir - .test-job-linux-needs-fixed-target - .rules-merge-request-to-main-pc - needs: ["build-codec-linux-make"] timeout: "60 minutes" stage: compare script: @@ -2100,7 +2099,6 @@ renderer-pytest-on-merge-request: - .test-job-linux-needs-testv-dir - .test-job-linux-needs-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: @@ -2162,7 +2160,6 @@ ivas-pytest-on-merge-request: # 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 -- GitLab From 8fee3d590f8f5ec3d0a12bef669385a5c9884eda Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 23 Jul 2025 14:36:04 +0200 Subject: [PATCH 14/20] remove more duplicates --- .gitlab-ci.yml | 44 +++----------------------------------------- 1 file changed, 3 insertions(+), 41 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4d3827ded..e3ab8a25d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -434,43 +434,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: @@ -500,7 +463,6 @@ stages: - job: branch-is-up-to-date-with-target-pre - artifacts: true - .build-job-linux: stage: build timeout: "2 minutes" @@ -514,9 +476,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: -- GitLab From 1ce1ce7970d1c9f0f740d884169e296683a22bf9 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 23 Jul 2025 14:46:40 +0200 Subject: [PATCH 15/20] also add build job to needs section in template --- .gitlab-ci.yml | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e3ab8a25d..ea7949bc1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -457,11 +457,12 @@ stages: tags: - ivas-linux -.test-job-linux-needs-fixed-target: +.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 @@ -1324,7 +1325,7 @@ lc3-wrapper-unit-test: split-rendering-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir - - .test-job-linux-needs-fixed-target + - .test-job-linux-compares-to-fixed-target - .rules-merge-request-to-main-pc timeout: "60 minutes" stage: compare @@ -1406,7 +1407,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-needs-fixed-target + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1420,7 +1421,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-needs-fixed-target + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1434,7 +1435,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-needs-fixed-target + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1448,7 +1449,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-needs-fixed-target + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1462,7 +1463,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-needs-fixed-target + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1476,7 +1477,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-needs-fixed-target + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1495,7 +1496,7 @@ check-regressions-short-enc-0db: artifacts: true extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux-needs-fixed-target + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1512,7 +1513,7 @@ check-regressions-short-enc-+10db: artifacts: true extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux-needs-fixed-target + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1529,7 +1530,7 @@ check-regressions-short-enc--10db: artifacts: true extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux-needs-fixed-target + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1546,7 +1547,7 @@ check-regressions-short-dec-0db: artifacts: true extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux-needs-fixed-target + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1563,7 +1564,7 @@ check-regressions-short-dec-+10db: artifacts: true extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux-needs-fixed-target + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1580,7 +1581,7 @@ check-regressions-short-dec--10db: artifacts: true extends: - .rules-mr-to-main-or-main-pc - - .test-job-linux-needs-fixed-target + - .test-job-linux-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -2059,7 +2060,7 @@ voip-be-on-merge-request: renderer-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir - - .test-job-linux-needs-fixed-target + - .test-job-linux-compares-to-fixed-target - .rules-merge-request-to-main-pc # TODO: set reasonable timeout, will most likely take less timeout: "20 minutes" @@ -2115,7 +2116,7 @@ renderer-pytest-on-merge-request: ivas-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir - - .test-job-linux-needs-fixed-target + - .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 -- GitLab From d935df2b4c7cefa560d4d8b946c2d28823142afa Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 23 Jul 2025 14:51:53 +0200 Subject: [PATCH 16/20] remove another duplicate --- .gitlab-ci.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ea7949bc1..eb24b0c68 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -288,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 -- GitLab From 5274f1bbc527687bb6d334b7e2a85ba1ca0efd6d Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 23 Jul 2025 14:56:43 +0200 Subject: [PATCH 17/20] test if it works without template --- .gitlab-ci.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eb24b0c68..f971fb166 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1318,9 +1318,13 @@ lc3-wrapper-unit-test: split-rendering-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir - - .test-job-linux-compares-to-fixed-target + # - .test-job-linux-compares-to-fixed-target - .rules-merge-request-to-main-pc timeout: "60 minutes" + needs: + - job: branch-is-up-to-date-with-target-pre + - artifacts: true + - job: build-codec-linux-make stage: compare script: - *print-common-info -- GitLab From ee5a1e4d742d92a621536ce976651370d351316d Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 23 Jul 2025 14:58:17 +0200 Subject: [PATCH 18/20] Revert "test if it works without template" This reverts commit 5274f1bbc527687bb6d334b7e2a85ba1ca0efd6d. --- .gitlab-ci.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f971fb166..eb24b0c68 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1318,13 +1318,9 @@ lc3-wrapper-unit-test: split-rendering-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir - # - .test-job-linux-compares-to-fixed-target + - .test-job-linux-compares-to-fixed-target - .rules-merge-request-to-main-pc timeout: "60 minutes" - needs: - - job: branch-is-up-to-date-with-target-pre - - artifacts: true - - job: build-codec-linux-make stage: compare script: - *print-common-info -- GitLab From b1710d570ab1fb8a83781b27f80192c9bd1da06b Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 23 Jul 2025 14:59:09 +0200 Subject: [PATCH 19/20] fix syntax in template --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eb24b0c68..e0fd7d958 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -454,7 +454,7 @@ stages: extends: .test-job-linux needs: - job: branch-is-up-to-date-with-target-pre - - artifacts: true + artifacts: true - job: build-codec-linux-make .build-job-linux: -- GitLab From e630d6063cdc71ac012d189c5a24fbd82bfe90b6 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Thu, 24 Jul 2025 09:54:12 +0200 Subject: [PATCH 20/20] fix needs for regression tests --- .gitlab-ci.yml | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e0fd7d958..842aefbc7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1487,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-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1504,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-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1521,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-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1538,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-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1555,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-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 @@ -1572,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-compares-to-fixed-target before_script: - *set-reference-for-basop-port-branch - USE_LTV=0 -- GitLab