diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1c93880b38ddf86cabc27a878fac6f07b55eb529..d2eeb5bac1273ae4cb0480aa157fdf788fb4768e 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,7 +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: - .pre @@ -257,6 +262,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: @@ -1594,6 +1601,50 @@ test-long-self-test: junit: - report-junit-ltv.xml +check-float-reference: + tags: + - ivas-linux + stage: test + timeout: "30 minutes" + rules: + - if: ($CI_PIPELINE_SOURCE == 'web' || $CI_PIPELINE_SOURCE == 'trigger') && $MANUAL_PIPELINE_TYPE == 'check-float-reference' + allow_failure: + exit_codes: + - 123 + script: + - *print-common-info + ### store the current commit hash + - source_branch_commit_sha=$(git rev-parse HEAD) + ### Checkout BASOP_REFERENCE_BRANCH + - git checkout $BASOP_REFERENCE_BRANCH + - make clean + - make -j + - cp IVAS_cod IVAS_cod_ref + - cp IVAS_dec IVAS_dec_ref + - cp IVAS_rend IVAS_rend_ref + - git checkout $source_branch_commit_sha + + - exit_code1=0 + - exit_code2=0 + - python3 ci/remove_unsupported_testcases.py scripts/config/self_test.prm + - 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 mos + paths: + - report-junit1.xml + - report-junit2.xml + - report1.html + - report2.html + expose_as: "check-float-reference results" + reports: + junit: + - report-junit1.xml # --------------------------------------------------------------- # Scheduled jobs on main