From cda22c0c2f45d73c709b72683f4bc242c91b0d04 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 31 Jul 2024 16:15:29 +0200 Subject: [PATCH 1/3] check for basop-ci-branch updates to work with BASOP float reference --- .gitlab-ci.yml | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 15cb7a6569..45898af683 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -396,7 +396,6 @@ check-self-test-names-pre: script: - python3 ci/check_self_test_names.py scripts/config/self_test.prm 135 - branch-is-up-to-date-with-main-post: extends: - .rules-merge-request @@ -408,6 +407,32 @@ branch-is-up-to-date-with-main-post: - echo $commits_behind_count - if [ $commits_behind_count -eq 0 ]; then exit 0; else echo "Your branch is behind main, possibly main changed during your pipeline run, run 'git merge origin/main' to update." exit 1; fi; +# for merges to basop-ci-branch, run the long test suite in reference generation mode to catch problems already here and not only in the BASOP repo +check-compatibility-with-basop-reference-branch: + extends: + - .test-job-linux + rules: + - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "basop-ci-branch" + changes: + - tests/**/* + - scripts/**/* + - ci/**/* + - if: $CI_PIPELINE_SOURCE == 'push' + when: never + tags: + - ivas-linux-fast + variables: + TEST_SUITE: "tests/codec_be_on_mr_nonselection tests/renderer --param_file scripts/config/self_test_ltv.prm" + script: + - git clone -b ivas-float-update https://forge.3gpp.org/rep/sa4/audio/ivas-basop.git --single-branch + - make -j -C ivas-basop + - cp ivas-basop/IVAS_cod ./IVAS_cod_ref + - cp ivas-basop/IVAS_dec ./IVAS_dec_ref + - python3 ci/remove_unsupported_testcases.py scripts/config/self_test.prm + - python3 tests/create_short_testvectors.py + - python3 -m pytest $TEST_SUITE -v --update_ref 1 -m create_ref --create_ref -n auto + - python3 -m pytest $TEST_SUITE -v --update_ref 1 -m create_ref_part2 -n auto + # --------------------------------------------------------------- # Build jobs # --------------------------------------------------------------- -- GitLab From 72de399a8bee24fa9436ccd5f014b2347b2fbb27 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Thu, 8 Aug 2024 13:12:59 +0200 Subject: [PATCH 2/3] port web-run setup from other branch --- .gitlab-ci.yml | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 45898af683..b62f26b720 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,9 +23,11 @@ variables: - 'test-long-self-test' - 'ivas-conformance' - 'ivas-conformance-linux' + - 'check-float-reference' GIT_CLEAN_FLAGS: -ffdxq TESTCASE_TIMEOUT_STV_SANITIZERS: 180 TESTCASE_TIMEOUT_LTV_SANITIZERS: 1200 + BASOP_REFERENCE_BRANCH: "ivas-float-update" default: @@ -63,6 +65,10 @@ workflow: - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'ivas-conformance-linux' variables: IVAS_PIPELINE_NAME: 'Draft IVAS Conformance test -- Linux: $CI_COMMIT_BRANCH' + - if: $CI_PIPELINE_SOURCE == 'trigger' + - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'check-float-reference' + variables: + IVAS_PIPELINE_NAME: 'check-float-reference: $CI_COMMIT_BRANCH' stages: @@ -257,6 +263,8 @@ stages: when: never - if: $MANUAL_PIPELINE_TYPE == 'ivas-conformance-linux' when: never + - if: $MANUAL_PIPELINE_TYPE == 'check-float-reference' + when: never - when: on_success .rules-merge-request: @@ -417,21 +425,41 @@ check-compatibility-with-basop-reference-branch: - tests/**/* - scripts/**/* - ci/**/* + - if: ($CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'trigger') && $MANUAL_PIPELINE_TYPE == 'check-float-reference' - if: $CI_PIPELINE_SOURCE == 'push' when: never tags: - ivas-linux-fast variables: - TEST_SUITE: "tests/codec_be_on_mr_nonselection tests/renderer --param_file scripts/config/self_test_ltv.prm" + TEST_SUITE: "tests/codec_be_on_mr_nonselection tests/renderer" script: - - git clone -b ivas-float-update https://forge.3gpp.org/rep/sa4/audio/ivas-basop.git --single-branch + - git clone -b $BASOP_REFERENCE_BRANCH https://forge.3gpp.org/rep/sa4/audio/ivas-basop.git --single-branch - make -j -C ivas-basop - cp ivas-basop/IVAS_cod ./IVAS_cod_ref - cp ivas-basop/IVAS_dec ./IVAS_dec_ref - python3 ci/remove_unsupported_testcases.py scripts/config/self_test.prm - python3 tests/create_short_testvectors.py - - python3 -m pytest $TEST_SUITE -v --update_ref 1 -m create_ref --create_ref -n auto - - python3 -m pytest $TEST_SUITE -v --update_ref 1 -m create_ref_part2 -n auto + - exit_code1=0 + - exit_code2=0 + - python3 -m pytest tests/codec_be_on_mr_nonselection -v --update_ref 1 -m create_ref --html=report1.html --self-contained-html --junit-xml=report-junit1.xml || exit_code1=$? + - python3 -m pytest tests/codec_be_on_mr_nonselection -v --update_ref 1 -m create_ref_part2 --html=report2.html --self-contained-html --junit-xml=report-junit2.xml || exit_code2=$? + - zero_errors=$(cat report-junit1.xml report-junit2.xml | grep -c 'errors="0"') || true + - if [ $zero_errors != 1 ]; then echo "Run errors encountered!"; exit $EXIT_CODE_FAIL; fi + - exit 0 + artifacts: + name: "check-float-reference--sha-$CI_COMMIT_SHORT_SHA--results" + when: always + expire_in: 1 month + paths: + - report-junit1.xml + - report-junit2.xml + - report1.html + - report2.html + expose_as: "check-float-reference results" + reports: + junit: + - report-junit1.xml + - report-junit2.xml # --------------------------------------------------------------- # Build jobs -- GitLab From 7d0f5ac41c920c84a8efa8f8067c400b5fcba17a Mon Sep 17 00:00:00 2001 From: norvell Date: Mon, 12 Aug 2024 06:21:53 +0000 Subject: [PATCH 3/3] Remove unused variable TEST_SUITE --- .gitlab-ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8262b5a9f3..757428ea98 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -430,8 +430,6 @@ check-compatibility-with-basop-reference-branch: when: never tags: - ivas-linux-fast - variables: - TEST_SUITE: "tests/codec_be_on_mr_nonselection tests/renderer" script: - git clone -b $BASOP_REFERENCE_BRANCH https://forge.3gpp.org/rep/sa4/audio/ivas-basop.git --single-branch - make -j -C ivas-basop -- GitLab