From 74da91adc34a9fdf47d790596f3c7becc98a9072 Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 14 Dec 2023 13:20:09 +0100 Subject: [PATCH 01/16] add first version of ci file --- .gitlab-ci.yml | 234 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 234 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 000000000..4dbbaeea7 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,234 @@ +variables: + REFERENCE_TAG: "main" + BUILD_OUTPUT: "build_output.txt" + EXIT_CODE_NON_BE: 123 + EXIT_CODE_FAIL: 1 + TESTS_DIR_CODEC_BE_ON_MR: "tests/codec_be_on_mr_nonselection" + IVAS_PIPELINE_NAME: '' + MANUAL_PIPELINE_TYPE: + description: "Type for the manual pipeline run. Use 'pytest-mld' to run MLD test against reference float codec." # Not implemented yet, but may be good to have a manual pipeline trigger + value: 'default' + options: + - 'default' + - 'pytest-mld' + + +default: + interruptible: true # Make all jobs by default interruptible + +stages: + - build + - test + +# --------------------------------------------------------------- +# Generic script anchors +# --------------------------------------------------------------- + +# These can be used later on to do common tasks + +# Prints useful information for every job and should be used at the beginning of each job +.print-common-info: &print-common-info + - | + echo "Printing common information for build job." + echo "Current job is run on commit $CI_COMMIT_SHA" + echo "Commit time was $CI_COMMIT_TIMESTAMP" + date | xargs echo "System time is" + +.get-previous-merge-commit-sha: &get-previous-merge-commit-sha + - previous_merge_commit=$(git --no-pager log --merges HEAD~1 -n 1 --pretty=format:%H) + +.check-for-testvectors: &check-for-testvectors # check if the testvector files specified in scripts/config/ci_linux*.json are present + - python3 -m pytest ci/test_vectors_available.py + +.mld-test-setup-codec: &mld-test-setup-codec + ### build test binaries, initial clean for paranoia reasons + - make clean + - mkdir build + - cd build + - cmake .. + - make -j + - mv IVAS_cod ../IVAS_cod_test + - mv IVAS_dec ../IVAS_dec_test + - mv IVAS_rend ../IVAS_rend_test + - cd .. + - rm -rf build/* + - git restore . + + ### store the current commit hash + - source_branch_commit_sha=$(git rev-parse HEAD) + + ### checkout version to compare against + - git checkout $REFERENCE_TAG + + ### build reference binaries + - cd build + - cmake .. + - make -j + - mv IVAS_cod ../IVAS_cod_ref + - mv IVAS_dec ../IVAS_dec_ref + - mv IVAS_rend ../IVAS_rend_ref + - cd .. + - git restore . + + # rename test binaries back + - mv IVAS_cod_test IVAS_cod + - mv IVAS_dec_test IVAS_dec + - mv IVAS_rend_test IVAS_rend + + # switch back to target branch + - git checkout $source_branch_commit_sha + + ### prepare pytest + # create short test vectors + - python3 tests/create_short_testvectors.py + # create references + - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref + - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref_part2 + +.update-ltv-repo: &update-ltv-repo + - cd $LTV_DIR + - git pull + - cd - + + +.copy-ltv-files-to-testv-dir: ©-ltv-files-to-testv-dir + - cp "$LTV_DIR"/*.wav scripts/testv/ + - cp "$LTV_DIR"/*.met scripts/testv/ + - cp "$LTV_DIR"/*.csv scripts/testv/ + + +# --------------------------------------------------------------- +# Job templates +# --------------------------------------------------------------- + +# templates to define stages and platforms +.test-job-linux: + tags: + - ivas-basop-linux + +.build-job-linux: + stage: build + timeout: "4 minutes" + needs: [] + tags: + - ivas-basop-linux + +# template for test jobs on linux that need the TESTV_DIR +.test-job-linux-needs-testv-dir: + extends: .test-job-linux + before_script: + - if [ ! -d "$TESTV_DIR" ]; then mkdir -p $TESTV_DIR; fi + - cp -r scripts/testv/* $TESTV_DIR/ + +# --------------------------------------------------------------- +# .pre jobs for setting up things +# --------------------------------------------------------------- + +# See: https://gitlab.com/gitlab-org/gitlab/-/issues/194023 +# Solution to make main branch pipelines uninterruptible while all other +# pipelines can be interrupted by default. This works because all jobs +# after uninterruptible jobs will be uninterruptible. Resource group +# setting avoids rare case where two fast merges could still interrupt +# pipeline. This should be revisited if there are updates to Gitlab. +uninterruptible: + stage: .pre + interruptible: false + resource_group: uninterruptible + script: + - echo "$CI_COMMIT_BRANCH is uninterruptible" + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + when: always + tags: + - ivas-linux + +# --------------------------------------------------------------- +# Build jobs +# --------------------------------------------------------------- + +# ensure that codec builds on linux +build-codec-linux-make: + extends: + - .build-job-linux + script: + - *print-common-info + - make -j + +# --------------------------------------------------------------- +# Test jobs +# --------------------------------------------------------------- + +.ivas-pytest-mld-enc-dec: + extends: + - .test-job-linux + stage: test + needs: ["build-codec-linux-make"] + timeout: "30 minutes" + script: + - *print-common-info + - *mld-test-setup-codec + + ### run pytest + - exit_code=0 + - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --html=report.html --self-contained-html --junit-xml=report-junit.xml --mld || exit_code=$? + - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true + + - python3 scripts/parse_mld.py report.html mld.csv + + - if [ $zero_errors != 1 ]; then echo "Run errors encountered!"; exit $EXIT_CODE_FAIL; fi + - if [ $exit_code -eq 1 ]; then echo "Differences encountered"; exit $EXIT_CODE_NON_BE; fi + - exit 0 + + allow_failure: + exit_codes: + - 123 + artifacts: + name: "mld--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results" + expire_in: 1 week + when: always + paths: + - report-junit.xml + - report.html + - mld.csv + expose_as: "pytest mld results" + reports: + junit: + - report-junit.xml + + +.ivas-pytest-mld-dec: + extends: + - .test-job-linux + stage: test + needs: ["build-codec-linux-make"] + timeout: "30 minutes" + script: + - *print-common-info + - *mld-test-setup-codec + + ### run pytest + - exit_code=0 + - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --html=report.html --self-contained-html --junit-xml=report-junit.xml --mld --dut_encoder_path ./IVAS_cod_ref || exit_code=$? + - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true + + - python3 scripts/parse_mld.py report.html mld.csv + + - if [ $zero_errors != 1 ]; then echo "Run errors encountered!"; exit $EXIT_CODE_FAIL; fi + - if [ $exit_code -eq 1 ]; then echo "Differences encountered"; exit $EXIT_CODE_NON_BE; fi + - exit 0 + + allow_failure: + exit_codes: + - 123 + artifacts: + name: "mld--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results" + expire_in: 1 week + when: always + paths: + - report-junit.xml + - report.html + - mld.csv + expose_as: "pytest mld results" + reports: + junit: + - report-junit.xml -- GitLab From b2babdbe85a8c41b64548ff7aea72fc5116d7a16 Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 14 Dec 2023 13:58:30 +0100 Subject: [PATCH 02/16] activate first test --- .gitlab-ci.yml | 82 +++++++++----------------------------------------- 1 file changed, 15 insertions(+), 67 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4dbbaeea7..cd936cec8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,7 @@ variables: - REFERENCE_TAG: "main" + REFERENCE_DIR: "/usr/local/reference" BUILD_OUTPUT: "build_output.txt" + SCRIPTS_DIR: "/usr/local/scripts" EXIT_CODE_NON_BE: 123 EXIT_CODE_FAIL: 1 TESTS_DIR_CODEC_BE_ON_MR: "tests/codec_be_on_mr_nonselection" @@ -41,42 +42,13 @@ stages: - python3 -m pytest ci/test_vectors_available.py .mld-test-setup-codec: &mld-test-setup-codec - ### build test binaries, initial clean for paranoia reasons - - make clean - - mkdir build - - cd build - - cmake .. + ### build test binaries - make -j - - mv IVAS_cod ../IVAS_cod_test - - mv IVAS_dec ../IVAS_dec_test - - mv IVAS_rend ../IVAS_rend_test - - cd .. - - rm -rf build/* - - git restore . - - ### store the current commit hash - - source_branch_commit_sha=$(git rev-parse HEAD) - - ### checkout version to compare against - - git checkout $REFERENCE_TAG ### build reference binaries - - cd build - - cmake .. - - make -j - - mv IVAS_cod ../IVAS_cod_ref - - mv IVAS_dec ../IVAS_dec_ref - - mv IVAS_rend ../IVAS_rend_ref - - cd .. - - git restore . - - # rename test binaries back - - mv IVAS_cod_test IVAS_cod - - mv IVAS_dec_test IVAS_dec - - mv IVAS_rend_test IVAS_rend - - # switch back to target branch - - git checkout $source_branch_commit_sha + - make -j -C $REFERENCE_DIR + - mv $REFERENCE_DIR/IVAS_cod ./IVAS_cod_ref + - mv $REFERENCE_DIR/IVAS_dec ./IVAS_dec_ref ### prepare pytest # create short test vectors @@ -85,17 +57,13 @@ stages: - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref_part2 -.update-ltv-repo: &update-ltv-repo - - cd $LTV_DIR +.update-scripts-repo: &update-scripts-repo + - cd $SCRIPTS_DIR - git pull - cd - - - -.copy-ltv-files-to-testv-dir: ©-ltv-files-to-testv-dir - - cp "$LTV_DIR"/*.wav scripts/testv/ - - cp "$LTV_DIR"/*.met scripts/testv/ - - cp "$LTV_DIR"/*.csv scripts/testv/ - + - cp -r $SCRIPTS_DIR/ci . + - cp -r $SCRIPTS_DIR/scripts . + - cp -r $SCRIPTS_DIR/test . # --------------------------------------------------------------- # Job templates @@ -108,7 +76,7 @@ stages: .build-job-linux: stage: build - timeout: "4 minutes" + timeout: "2 minutes" needs: [] tags: - ivas-basop-linux @@ -120,28 +88,6 @@ stages: - if [ ! -d "$TESTV_DIR" ]; then mkdir -p $TESTV_DIR; fi - cp -r scripts/testv/* $TESTV_DIR/ -# --------------------------------------------------------------- -# .pre jobs for setting up things -# --------------------------------------------------------------- - -# See: https://gitlab.com/gitlab-org/gitlab/-/issues/194023 -# Solution to make main branch pipelines uninterruptible while all other -# pipelines can be interrupted by default. This works because all jobs -# after uninterruptible jobs will be uninterruptible. Resource group -# setting avoids rare case where two fast merges could still interrupt -# pipeline. This should be revisited if there are updates to Gitlab. -uninterruptible: - stage: .pre - interruptible: false - resource_group: uninterruptible - script: - - echo "$CI_COMMIT_BRANCH is uninterruptible" - rules: - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - when: always - tags: - - ivas-linux - # --------------------------------------------------------------- # Build jobs # --------------------------------------------------------------- @@ -158,7 +104,7 @@ build-codec-linux-make: # Test jobs # --------------------------------------------------------------- -.ivas-pytest-mld-enc-dec: +ivas-pytest-mld-enc-dec: extends: - .test-job-linux stage: test @@ -166,6 +112,7 @@ build-codec-linux-make: timeout: "30 minutes" script: - *print-common-info + - *update-scripts-repo - *mld-test-setup-codec ### run pytest @@ -204,6 +151,7 @@ build-codec-linux-make: timeout: "30 minutes" script: - *print-common-info + - *update-scripts-repo - *mld-test-setup-codec ### run pytest -- GitLab From 5ece57c3fbc6031026945e5d15491d25dfff8600 Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 14 Dec 2023 14:02:49 +0100 Subject: [PATCH 03/16] fix typo --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cd936cec8..a97bb2796 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -63,7 +63,7 @@ stages: - cd - - cp -r $SCRIPTS_DIR/ci . - cp -r $SCRIPTS_DIR/scripts . - - cp -r $SCRIPTS_DIR/test . + - cp -r $SCRIPTS_DIR/tests . # --------------------------------------------------------------- # Job templates -- GitLab From 83e36ad5e335db137194e1c85ec1f9331f1ef310 Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 14 Dec 2023 15:55:12 +0100 Subject: [PATCH 04/16] cleanup and add explicit cdl arg for mutlithreading --- .gitlab-ci.yml | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a97bb2796..8abd20361 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -35,12 +35,6 @@ stages: echo "Commit time was $CI_COMMIT_TIMESTAMP" date | xargs echo "System time is" -.get-previous-merge-commit-sha: &get-previous-merge-commit-sha - - previous_merge_commit=$(git --no-pager log --merges HEAD~1 -n 1 --pretty=format:%H) - -.check-for-testvectors: &check-for-testvectors # check if the testvector files specified in scripts/config/ci_linux*.json are present - - python3 -m pytest ci/test_vectors_available.py - .mld-test-setup-codec: &mld-test-setup-codec ### build test binaries - make -j @@ -54,8 +48,8 @@ stages: # create short test vectors - python3 tests/create_short_testvectors.py # create references - - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref - - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref_part2 + - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref -n auto + - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref 1 -m create_ref_part2 -n auto .update-scripts-repo: &update-scripts-repo - cd $SCRIPTS_DIR @@ -117,7 +111,7 @@ ivas-pytest-mld-enc-dec: ### run pytest - exit_code=0 - - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --html=report.html --self-contained-html --junit-xml=report-junit.xml --mld || exit_code=$? + - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --html=report.html --self-contained-html --junit-xml=report-junit.xml --mld -n auto || exit_code=$? - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - python3 scripts/parse_mld.py report.html mld.csv @@ -156,7 +150,7 @@ ivas-pytest-mld-enc-dec: ### run pytest - exit_code=0 - - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --html=report.html --self-contained-html --junit-xml=report-junit.xml --mld --dut_encoder_path ./IVAS_cod_ref || exit_code=$? + - python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --html=report.html --self-contained-html --junit-xml=report-junit.xml --mld --dut_encoder_path ./IVAS_cod_ref -n auto || exit_code=$? - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - python3 scripts/parse_mld.py report.html mld.csv -- GitLab From fc95acfdc38248390e6ff6c391421c8ac4d157a5 Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 14 Dec 2023 16:03:45 +0100 Subject: [PATCH 05/16] add patch to remove testcases that fail in the reference --- .gitlab-ci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8abd20361..e4fe037a8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -59,6 +59,10 @@ stages: - cp -r $SCRIPTS_DIR/scripts . - cp -r $SCRIPTS_DIR/tests . +# TODO: this needs to be updated in case the reference is updated +.remove-unsupported-testcases: &remove-unsupported-testcases + - sed -i '1629,1635d' scripts/config/self_test.prm + # --------------------------------------------------------------- # Job templates # --------------------------------------------------------------- @@ -107,6 +111,7 @@ ivas-pytest-mld-enc-dec: script: - *print-common-info - *update-scripts-repo + - *remove-unsupported-testcases - *mld-test-setup-codec ### run pytest @@ -146,6 +151,7 @@ ivas-pytest-mld-enc-dec: script: - *print-common-info - *update-scripts-repo + - *remove-unsupported-testcases - *mld-test-setup-codec ### run pytest -- GitLab From 6b40649f051d91e362770d049926b818428a6ee5 Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 14 Dec 2023 16:52:27 +0100 Subject: [PATCH 06/16] activate second test --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e4fe037a8..ebfb7c8cb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -142,7 +142,7 @@ ivas-pytest-mld-enc-dec: - report-junit.xml -.ivas-pytest-mld-dec: +ivas-pytest-mld-dec: extends: - .test-job-linux stage: test -- GitLab From 1708c9a940816b0bb2aed4a902cdc46d869a3290 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Dec 2023 08:57:18 +0100 Subject: [PATCH 07/16] build reference from tag --- .gitlab-ci.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ebfb7c8cb..b7ea29507 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,5 @@ variables: - REFERENCE_DIR: "/usr/local/reference" + REFERENCE_TAG: "20231128_Update_Ittiam" BUILD_OUTPUT: "build_output.txt" SCRIPTS_DIR: "/usr/local/scripts" EXIT_CODE_NON_BE: 123 @@ -36,13 +36,17 @@ stages: date | xargs echo "System time is" .mld-test-setup-codec: &mld-test-setup-codec - ### build test binaries - - make -j + - current_commit_sha=$(git rev-parse HEAD) ### build reference binaries - - make -j -C $REFERENCE_DIR - - mv $REFERENCE_DIR/IVAS_cod ./IVAS_cod_ref - - mv $REFERENCE_DIR/IVAS_dec ./IVAS_dec_ref + - git checkout $REFERENCE_TAG + - make -j + - mv ./IVAS_cod ./IVAS_cod_ref + - mv ./IVAS_dec ./IVAS_dec_ref + + ### build test binaries + - git checkout $current_commit_sha + - make -j ### prepare pytest # create short test vectors -- GitLab From 22bc40a64c53ed17ebcf868dd20da0c427139bcc Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Dec 2023 09:00:00 +0100 Subject: [PATCH 08/16] add debug printout --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b7ea29507..382fc05b3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -45,6 +45,7 @@ stages: - mv ./IVAS_dec ./IVAS_dec_ref ### build test binaries + - git tag - git checkout $current_commit_sha - make -j -- GitLab From a5f3bff529adb5f8906e5edd8973300f9a3adf0c Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Dec 2023 09:01:44 +0100 Subject: [PATCH 09/16] correct place for debug printout --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 382fc05b3..7a67b4c1a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -39,13 +39,13 @@ stages: - current_commit_sha=$(git rev-parse HEAD) ### build reference binaries + - git tag - git checkout $REFERENCE_TAG - make -j - mv ./IVAS_cod ./IVAS_cod_ref - mv ./IVAS_dec ./IVAS_dec_ref ### build test binaries - - git tag - git checkout $current_commit_sha - make -j -- GitLab From 1308299eeba17487d6ca7ee77285331abb587db8 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Dec 2023 09:11:08 +0100 Subject: [PATCH 10/16] change git strategy to get tags --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7a67b4c1a..e8b0f9bd1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,6 +6,7 @@ variables: EXIT_CODE_FAIL: 1 TESTS_DIR_CODEC_BE_ON_MR: "tests/codec_be_on_mr_nonselection" IVAS_PIPELINE_NAME: '' + GIT_STRATEGY: clone MANUAL_PIPELINE_TYPE: description: "Type for the manual pipeline run. Use 'pytest-mld' to run MLD test against reference float codec." # Not implemented yet, but may be good to have a manual pipeline trigger value: 'default' -- GitLab From e00b943ff836bee1ebc0c6fb6dce389ee06c5a17 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Dec 2023 09:13:51 +0100 Subject: [PATCH 11/16] add more debug printout --- .gitlab-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e8b0f9bd1..9bdac1146 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,6 +41,9 @@ stages: ### build reference binaries - git tag + - pwd + - ls -altr + - git status - git checkout $REFERENCE_TAG - make -j - mv ./IVAS_cod ./IVAS_cod_ref -- GitLab From df49bd3231bf1abb1e13d47abc44b4b464196a5c Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Dec 2023 09:16:49 +0100 Subject: [PATCH 12/16] use commit sha instead of tag --- .gitlab-ci.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9bdac1146..591e44801 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,5 @@ variables: - REFERENCE_TAG: "20231128_Update_Ittiam" + REFERENCE_COMMIT: "fbf455224fda7e50573d3c9443391b6c14c74933" BUILD_OUTPUT: "build_output.txt" SCRIPTS_DIR: "/usr/local/scripts" EXIT_CODE_NON_BE: 123 @@ -41,10 +41,7 @@ stages: ### build reference binaries - git tag - - pwd - - ls -altr - - git status - - git checkout $REFERENCE_TAG + - git checkout $REFERENCE_COMMIT - make -j - mv ./IVAS_cod ./IVAS_cod_ref - mv ./IVAS_dec ./IVAS_dec_ref -- GitLab From ef32a4cd99500ec138cb61a1e21f6b2b9a4302ba Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Dec 2023 09:24:32 +0100 Subject: [PATCH 13/16] try fetching main --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 591e44801..92003c6da 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,6 +41,7 @@ stages: ### build reference binaries - git tag + - git fetch origin main - git checkout $REFERENCE_COMMIT - make -j - mv ./IVAS_cod ./IVAS_cod_ref -- GitLab From e211108f8b9626d7faae8dbd8297c027871b3ef2 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Dec 2023 09:55:30 +0100 Subject: [PATCH 14/16] remove fetch and try with deeper git clone settings --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 92003c6da..591e44801 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,7 +41,6 @@ stages: ### build reference binaries - git tag - - git fetch origin main - git checkout $REFERENCE_COMMIT - make -j - mv ./IVAS_cod ./IVAS_cod_ref -- GitLab From 58eb747b861f87e4d5a44cdc78ec82b4ca6d2a05 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Dec 2023 10:02:15 +0100 Subject: [PATCH 15/16] add make clean --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 591e44801..2fc7dbdb9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -42,12 +42,14 @@ stages: ### build reference binaries - git tag - git checkout $REFERENCE_COMMIT + - make clean - make -j - mv ./IVAS_cod ./IVAS_cod_ref - mv ./IVAS_dec ./IVAS_dec_ref ### build test binaries - git checkout $current_commit_sha + - make clean - make -j ### prepare pytest -- GitLab From e521aba58848f32658eb0a5c8cfe1c8e6a74c571 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Dec 2023 10:05:48 +0100 Subject: [PATCH 16/16] use tag again and revert git strategy var --- .gitlab-ci.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2fc7dbdb9..4bc603618 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,12 +1,11 @@ variables: - REFERENCE_COMMIT: "fbf455224fda7e50573d3c9443391b6c14c74933" + REFERENCE_TAG: "20231128_Update_Ittiam" BUILD_OUTPUT: "build_output.txt" SCRIPTS_DIR: "/usr/local/scripts" EXIT_CODE_NON_BE: 123 EXIT_CODE_FAIL: 1 TESTS_DIR_CODEC_BE_ON_MR: "tests/codec_be_on_mr_nonselection" IVAS_PIPELINE_NAME: '' - GIT_STRATEGY: clone MANUAL_PIPELINE_TYPE: description: "Type for the manual pipeline run. Use 'pytest-mld' to run MLD test against reference float codec." # Not implemented yet, but may be good to have a manual pipeline trigger value: 'default' @@ -40,8 +39,7 @@ stages: - current_commit_sha=$(git rev-parse HEAD) ### build reference binaries - - git tag - - git checkout $REFERENCE_COMMIT + - git checkout $REFERENCE_TAG - make clean - make -j - mv ./IVAS_cod ./IVAS_cod_ref -- GitLab