Commit b3949297 authored by Jan Kiene's avatar Jan Kiene
Browse files

use refs instead of branches in the build script

- also no need to set up float ref branch anymore, the commit we need
  will come from the env var via the artifacts
parent 000dbcab
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -423,15 +423,13 @@ workflow:
    -   bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/apply-testv-scaling.sh
    - fi

    # set branches for reference builds
    - source "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/set-float-reference-branches.sh
    - echo "$FLOAT_REF_BRANCH - $FLOAT_REF_BRANCH_MERGE_SOURCE - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME - $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME"
    # build merge target branch and correpsonding float reference
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/build-binaries.sh float-ref
    - source "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/build-merge-target-binaries.sh
    - echo "$FLOAT_REF_BRANCH - $FLOAT_REF_BRANCH_MERGE_SOURCE - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME - $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME"
    # 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 dut
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/build-binaries.sh float-ref-merge-source

    - python3 ci/remove_unsupported_testcases.py $PRM_FILES
@@ -559,13 +557,11 @@ workflow:
    - INV_LEVEL_SCALING=$(awk "BEGIN {print 1.0 / $LEVEL_SCALING}")
    - comp_args="--mld --ssnr --odg --scalefac $INV_LEVEL_SCALING"

    # set branches for reference builds
    - source "${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 dut
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/build-binaries.sh float-ref-merge-source

    # set pytest args for ref creation
+6 −16
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ mode="${1:-}"

case "$mode" in
float-ref)
  branch_to_check_out="$FLOAT_REF_BRANCH"
  ref_to_check_out="$FLOAT_REF_COMMIT"
  ivas_cod_filename="./$REF_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
  ivas_dec_filename="./$REF_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
  ivas_rend_filename="./$REF_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY"
@@ -16,7 +16,7 @@ float-ref)
  commit_file="$FLOAT_REF_COMMIT_FILE"
  ;;
float-ref-merge-source)
  branch_to_check_out="$FLOAT_REF_BRANCH_MERGE_SOURCE"
  ref_to_check_out="$MERGE_SOURCE_FLOAT_REF_COMMIT"
  ivas_cod_filename="./$MERGE_SOURCE_FLOAT_REF_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
  ivas_dec_filename="./$MERGE_SOURCE_FLOAT_REF_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
  ivas_rend_filename="./$MERGE_SOURCE_FLOAT_REF_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY"
@@ -24,25 +24,15 @@ float-ref-merge-source)
  commit_file="$MERGE_SOURCE_FLOAT_REF_COMMIT_FILE"
  ;;
merge-target)
  branch_to_check_out="$CI_MERGE_REQUEST_TARGET_BRANCH_NAME"
  ref_to_check_out="$MERGE_TARGET_COMMIT"
  ivas_cod_filename="./$MERGE_TARGET_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
  ivas_dec_filename="./$MERGE_TARGET_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
  ivas_rend_filename="./$MERGE_TARGET_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY"
  isar_post_rend_filename="./$MERGE_TARGET_POST_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY"
  commit_file="$MERGE_TARGET_COMMIT_FILE"
  ;;
merge-source)
  branch_to_check_out="$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME"
  ivas_cod_filename="./$DUT_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
  ivas_dec_filename="./$DUT_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
  ivas_rend_filename="./$DUT_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY"
  isar_post_rend_filename="./$DUT_POST_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY"
  commit_file="$CUT_COMMIT_FILE"
  ;;
dut)
  # This produces the same binary names as merge-source, but sets branch_to_check_out differently
  # so that this is usable in non-merge-request pipelines
  branch_to_check_out="$CI_COMMIT_REF_NAME"
  ref_to_check_out="$CI_COMMIT_REF_NAME"
  ivas_cod_filename="./$DUT_ENCODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
  ivas_dec_filename="./$DUT_DECODER_PATH_FOR_BUILD_DO_NOT_MODIFY"
  ivas_rend_filename="./$DUT_RENDERER_PATH_FOR_BUILD_DO_NOT_MODIFY"
@@ -55,7 +45,7 @@ dut)
  ;;
esac

echo "Building $mode binaries from branch $branch_to_check_out"
echo "Building $mode binaries from branch $ref_to_check_out"

current_commit_sha="$(git rev-parse HEAD)"

@@ -70,7 +60,7 @@ trap restore_stash EXIT
# should never fail, even if there is nothing to be stored
git stash

git checkout "$branch_to_check_out"
git checkout "$ref_to_check_out"

bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/activate-debug-mode-info-if-set.sh

+0 −24
Original line number Diff line number Diff line
#! /bin/bash

set -euxo pipefail

cd "${CI_PROJECT_DIR}"

# use ivas-float-update as reference for the merge source per default
FLOAT_REF_BRANCH_MERGE_SOURCE=$FLOAT_REF_BRANCH

exit_code=0
# first check if branch matches the pattern
bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/branch-follows-porting-naming-convention.sh $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME || exit_code=$?

# run again to actually set the branch name only if the naming pattern is there
# TODO: this is a bit awkward, but needed as a quick fix for now
if [[ "$exit_code" == "0" ]]; then
  if [[ ! "$CI_MERGE_REQUEST_TITLE" =~ \[skip[[:space:]_-]name[[:space:]_-]check\] ]] && [[ ! "$CI_MERGE_REQUEST_TITLE" =~ \[CI\] ]]; then
    # a bit awkward: write to file + standard out first so that the error message is visible in case of failure. Then fill the variable from the file
    bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/get-float-ref-branch-name.sh $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME | tee tmp_ref_branch.txt
    FLOAT_REF_BRANCH_MERGE_SOURCE=$(cat tmp_ref_branch.txt)
  fi
fi

export FLOAT_REF_BRANCH_MERGE_SOURCE