Commit 94111c3f authored by Jan Kiene's avatar Jan Kiene
Browse files

adjustments for correct float references and needs

parent 6171f994
Loading
Loading
Loading
Loading
Loading
+28 −37
Original line number Diff line number Diff line
@@ -382,28 +382,17 @@ workflow:
  extends:
    - .test-job-linux
    - .rules-pytest-to-main-short
    - .test-job-linux-compares-to-fixed-target
  before_script:
    - !reference [ .test-job-linux, before_script ]
    - rm -rf tests/dut tests/ref
  variables:
    USE_LTV: 0

# TODO: we might need a new mechanism here now that everything happens on main
.set-reference-for-basop-port-branch: &set-reference-for-basop-port-branch
  - if [ $CI_MERGE_REQUEST_TARGET_BRANCH_NAME = "main" ]; then
  -   if [[ ! "$CI_MERGE_REQUEST_TITLE" =~ \[skip[[:space:]_-]name[[:space:]_-]check\] ]] && [[ ! "$CI_MERGE_REQUEST_TITLE" =~ \[CI\] ]]; then
  -     bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/update-scripts-repo.sh
  # a bit awkward: write to file + standard out first so that the error message is visivle in case of failure. Then fill the variable from the file
  -     ci/get_float_ref_branch_name.sh $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME | tee tmp_ref_branch.txt
  -     FLOAT_REF_BRANCH=$(cat tmp_ref_branch.txt)
  -   fi
  - fi

.check-be-to-target-job:
  extends:
    - .check-be-job
  stage: check-be
  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"
@@ -432,11 +421,14 @@ workflow:
    -   bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/apply-testv-scaling.sh
    - fi

    # set branches for reference builds
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/set-float-reference-branches.sh
    # build merge target branch and correpsonding float reference
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/build-binaries.sh float-ref
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/build-binaries.sh merge-target
    - make clean
    - make -j >> /dev/null
    - *check-up-to-date-in-comparison-jobs
    # build to-be-merged branch and corresponding float ref branch
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/build-binaries.sh merge-source
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/build-binaries.sh float-ref-merge-source

    - exit_code_target=0
    - python3 -m pytest $TEST_SUITE -v --update_ref 1 --create_ref -n auto --ref_encoder_path $MERGE_TARGET_ENCODER_PATH --ref_decoder_path $MERGE_TARGET_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH > $PYTEST_LOG_TARGET_BRANCH || exit_code_target=$?
@@ -567,10 +559,15 @@ workflow:
    - INV_LEVEL_SCALING=$(awk "BEGIN {print 1.0 / $LEVEL_SCALING}")
    - comp_args="--mld --ssnr --odg --scalefac $INV_LEVEL_SCALING"

    ### run branch first
    # this per default builds the branch and the reference and creates the reference outputs
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/build-and-create-float-ref-outputs.sh
    - *check-up-to-date-in-comparison-jobs
    # set branches for reference builds
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/set-float-reference-branches.sh
    # build merge target branch and correpsonding float reference
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/build-binaries.sh float-ref
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/build-binaries.sh merge-target
    # build to-be-merged branch and corresponding float ref branch
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/build-binaries.sh merge-source
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/build-binaries.sh float-ref-merge-source

    # 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_BRANCH --self-contained-html --junit-xml=$XML_REPORT_BRANCH $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
@@ -584,11 +581,6 @@ workflow:
    - python3 scripts/create_histograms.py $CSV_BRANCH $IMAGES_ARTIFACT_NAME --measures $MEASURES_FOR_REPORT
    - 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
    # 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
@@ -682,7 +674,6 @@ workflow:
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/copy-ltv-files-to-testv-dir.sh
    - python3 ci/remove_unsupported_testcases.py $PRM_FILES

    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/build-binaries.sh float-ref
    - set -euxo pipefail
    - make_args="CLANG=$CLANG_NUM"
    - if [[ $CLANG_NUM == 3 ]]; then
@@ -1089,7 +1080,7 @@ check-be-to-target-short-enc-0db:
    # -/-0dB
    LEVEL_SCALING: "1.0"
    # overwrite decoder with float reference one
    DUT_DECODER_PATH: "$REF_DECODER_PATH"
    DUT_DECODER_PATH: "$MERGE_SOURCE_FLOAT_REF_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
    MERGE_TARGET_DECODER_PATH: "$REF_DECODER_PATH"
    USE_LTV: 0

@@ -1101,7 +1092,7 @@ check-be-to-target-short-enc-+10db:
    # +10dB
    LEVEL_SCALING: "3.162"
    # overwrite decoder with float reference one
    DUT_DECODER_PATH: "$REF_DECODER_PATH"
    DUT_DECODER_PATH: "$MERGE_SOURCE_FLOAT_REF_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
    MERGE_TARGET_DECODER_PATH: "$REF_DECODER_PATH"
    USE_LTV: 0

@@ -1113,7 +1104,7 @@ check-be-to-target-short-enc--10db:
    # -10dB
    LEVEL_SCALING: "0.3162"
    # overwrite decoder with float reference one
    DUT_DECODER_PATH: "$REF_DECODER_PATH"
    DUT_DECODER_PATH: "$MERGE_SOURCE_FLOAT_REF_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
    MERGE_TARGET_DECODER_PATH: "$REF_DECODER_PATH"
    USE_LTV: 0

@@ -1125,7 +1116,7 @@ check-be-to-target-short-dec-0db:
    # +/-0dB
    LEVEL_SCALING: "1.0"
    # overwrite encoder with float reference one
    DUT_ENCODER_PATH: "$REF_ENCODER_PATH"
    DUT_ENCODER_PATH: "$MERGE_SOURCE_FLOAT_REF_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
    MERGE_TARGET_ENCODER_PATH: "$REF_ENCODER_PATH"
    USE_LTV: 0

@@ -1137,7 +1128,7 @@ check-be-to-target-short-dec-+10db:
    # +10dB
    LEVEL_SCALING: "3.162"
    # overwrite encoder with float reference one
    DUT_ENCODER_PATH: "$REF_ENCODER_PATH"
    DUT_ENCODER_PATH: "$MERGE_SOURCE_FLOAT_REF_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
    MERGE_TARGET_ENCODER_PATH: "$REF_ENCODER_PATH"
    USE_LTV: 0

@@ -1149,7 +1140,7 @@ check-be-to-target-short-dec--10db:
    # -10dB
    LEVEL_SCALING: "0.3162"
    # overwrite encoder with float reference one
    DUT_ENCODER_PATH: "$REF_ENCODER_PATH"
    DUT_ENCODER_PATH: "$MERGE_SOURCE_FLOAT_REF_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
    MERGE_TARGET_ENCODER_PATH: "$REF_ENCODER_PATH"
    USE_LTV: 0

@@ -1165,7 +1156,7 @@ check-regressions-short-enc-0db:
    # +/-0dB
    LEVEL_SCALING: "1.0"
    # overwrite decoder with float reference one
    DUT_DECODER_PATH: "$REF_DECODER_PATH"
    DUT_DECODER_PATH: "$MERGE_SOURCE_FLOAT_REF_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
    MERGE_TARGET_DECODER_PATH: "$REF_DECODER_PATH"
    USE_LTV: 0

@@ -1180,7 +1171,7 @@ check-regressions-short-enc-+10db:
    # +10dB
    LEVEL_SCALING: "3.162"
    # overwrite decoder with float reference one
    DUT_DECODER_PATH: "$REF_DECODER_PATH"
    DUT_DECODER_PATH: "$MERGE_SOURCE_FLOAT_REF_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
    MERGE_TARGET_DECODER_PATH: "$REF_DECODER_PATH"
    USE_LTV: 0

@@ -1195,7 +1186,7 @@ check-regressions-short-enc--10db:
    # -10dB
    LEVEL_SCALING: "0.3162"
    # overwrite decoder with float reference one
    DUT_DECODER_PATH: "$REF_DECODER_PATH"
    DUT_DECODER_PATH: "$MERGE_SOURCE_FLOAT_REF_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
    MERGE_TARGET_DECODER_PATH: "$REF_DECODER_PATH"
    USE_LTV: 0

@@ -1210,7 +1201,7 @@ check-regressions-short-dec-0db:
    # +/-0dB
    LEVEL_SCALING: "1"
    # overwrite encoder with float reference one
    DUT_ENCODER_PATH: "$REF_ENCODER_PATH"
    DUT_ENCODER_PATH: "$MERGE_SOURCE_FLOAT_REF_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
    MERGE_TARGET_ENCODER_PATH: "$REF_ENCODER_PATH"
    USE_LTV: 0

@@ -1225,7 +1216,7 @@ check-regressions-short-dec-+10db:
    # +10dB
    LEVEL_SCALING: "3.162"
    # overwrite encoder with float reference one
    DUT_ENCODER_PATH: "$REF_ENCODER_PATH"
    DUT_ENCODER_PATH: "$MERGE_SOURCE_FLOAT_REF_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
    MERGE_TARGET_ENCODER_PATH: "$REF_ENCODER_PATH"
    USE_LTV: 0

@@ -1240,7 +1231,7 @@ check-regressions-short-dec--10db:
    # -10dB
    LEVEL_SCALING: "0.3162"
    # overwrite encoder with float reference one
    DUT_ENCODER_PATH: "$REF_ENCODER_PATH"
    DUT_ENCODER_PATH: "$MERGE_SOURCE_FLOAT_REF_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
    MERGE_TARGET_ENCODER_PATH: "$REF_ENCODER_PATH"
    USE_LTV: 0

+10 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ variables:
  LTV_DIR: "/usr/local/ltv"
  EVS_BE_TEST_DIR_BASOP: "/usr/local/be_2_evs_basop"
  FLOAT_REF_BRANCH: "ivas-float-update"
  FLOAT_REF_BRANCH_MERGE_SOURCE: ""
  BUILD_OUTPUT: "build_output.txt"
  SCRIPTS_DIR: "/usr/local/scripts"
  EXIT_CODE_NON_BE: 123
@@ -31,6 +32,10 @@ variables:
  MERGE_TARGET_POST_RENDERER_PATH: "./ISAR_post_rend_merge_target"
  # These path variables are used for building the binaries
  # They should never be overwritten!
  DUT_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_cod"
  DUT_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_dec"
  DUT_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_rend"
  DUT_POST_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./ISAR_post_rend"
  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"
@@ -39,6 +44,10 @@ variables:
  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"
  MERGE_SOURCE_FLOAT_REF_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_cod_merge_source_float_ref"
  MERGE_SOURCE_FLOAT_REF_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_dec_merge_source_float_ref"
  MERGE_SOURCE_FLOAT_REF_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./IVAS_rend_merge_source_float_ref"
  MERGE_SOURCE_FLOAT_REF_POST_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY: "./ISAR_post_rend_merge_source_float_ref"
  LEVEL_SCALING: "1.0"
  IVAS_PIPELINE_NAME: ''
  BASOP_CI_BRANCH_PC_REPO: "basop-ci-branch-pc"
@@ -66,6 +75,7 @@ variables:
  FLOAT_REF_COMMIT_FILE: "float-ref-git-sha.txt"
  CUT_COMMIT_FILE: "CuT-git-sha.txt"
  MERGE_TARGET_COMMIT_FILE: "merge-target-git-sha.txt"
  MERGE_SOURCE_FLOAT_REF_COMMIT_FILE: "merge-source-float-ref-git-sha.txt"
  RUNNER_TAG: "ivas-basop-linux"
  LOGS_BACKUP_SOURCE_DIR: ""
  LOGS_BACKUP_TARGET_DIR: ""