Loading .gitlab-ci.yml +63 −38 Original line number Diff line number Diff line Loading @@ -132,6 +132,12 @@ stages: - sed -i.bak -e "s/\/\*\ *\(#define\ *DEBUGGING\ *\)\*\//\1/g" lib_com/options.h - sed -i.bak -e "s/\/\/\ *\(#define\ *DEBUGGING\ *\)/\1/g" lib_com/options.h .get-basop-float-reference: &get-basop-float-reference - 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 ./ - cp ivas-basop/IVAS_dec ./ .merge-request-comparison-setup-codec: &merge-request-comparison-setup-codec ### build test binaries, initial clean for paranoia reasons - *disable-debugging-macro Loading Loading @@ -279,10 +285,24 @@ stages: when: never - when: on_success .rules-merge-request: .rules-merge-request-to-main: extends: .rules-basis rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main" # only have MR pipelines for MRs to main - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main" - if: $CI_PIPELINE_SOURCE == 'push' when: never .rules-merge-request-to-basop-ci-branch: extends: .rules-basis rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "basop-ci-branch" - if: $CI_PIPELINE_SOURCE == 'push' when: never .rules-merge-request-to-basop-ci-branch-or-main: extends: .rules-basis rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "basop-ci-branch" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main") - if: $CI_PIPELINE_SOURCE == 'push' when: never Loading Loading @@ -327,7 +347,7 @@ stages: stage: test extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-main artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results" expire_in: 1 week Loading Loading @@ -396,7 +416,7 @@ uninterruptible: branch-is-up-to-date-with-main-pre: extends: - .rules-merge-request - .rules-merge-request-to-main stage: prevalidate needs: [] tags: Loading @@ -408,7 +428,7 @@ branch-is-up-to-date-with-main-pre: check-self-test-names-pre: extends: - .rules-merge-request - .rules-merge-request-to-main stage: prevalidate needs: [] tags: Loading @@ -418,7 +438,7 @@ check-self-test-names-pre: check-no-duplicates-in-self-tests: extends: - .rules-merge-request - .rules-merge-request-to-main stage: prevalidate needs: [] tags: Loading @@ -428,7 +448,7 @@ check-no-duplicates-in-self-tests: branch-is-up-to-date-with-main-post: extends: - .rules-merge-request - .rules-merge-request-to-main stage: postvalidate tags: - ivas-linux Loading @@ -440,24 +460,19 @@ branch-is-up-to-date-with-main-post: .basop-ci-branch-compat-template: extends: - .test-job-linux rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "basop-ci-branch" changes: - tests/**/* - scripts/**/* - if: $CI_PIPELINE_SOURCE == 'push' when: never - .rules-merge-request-to-basop-ci-branch tags: - ivas-linux-fast before_script: - git clone -b $BASOP_REFERENCE_BRANCH https://forge.3gpp.org/rep/sa4/audio/ivas-basop.git --single-branch - make -j -C ivas-basop - python3 ci/remove_unsupported_testcases.py $PARAM_FILE - python3 tests/create_short_testvectors.py - *update-ltv-repo - *copy-ltv-files-to-testv-dir - python3 -m pytest tests/codec_be_on_mr_nonselection --param_file $PARAM_FILE --update_ref 1 --ref_encoder_path ivas-basop/IVAS_cod --ref_decoder_path ivas-basop/IVAS_dec --html=report.html --self-contained-html --junit-xml=report-junit.xml || true - *get-basop-float-reference - python3 -m pytest tests/codec_be_on_mr_nonselection --param_file $PARAM_FILE --update_ref 1 --ref_encoder_path IVAS_cod --ref_decoder_path IVAS_dec --html=report.html --self-contained-html --junit-xml=report-junit.xml || true - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - if [ $zero_errors != 1 ]; then echo "Run errors encountered with $PARAM_FILE !"; exit $EXIT_CODE_FAIL; fi Loading Loading @@ -579,7 +594,7 @@ build-codec-windows-msbuild: codec-smoke-test: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-basop-ci-branch-or-main timeout: "20 minutes" tags: - ivas-linux-fast Loading @@ -589,7 +604,17 @@ codec-smoke-test: - *print-common-info # LTV update needed as ltv ISM metadata files are used - *update-ltv-repo # for MRs to basop-ci-branch, we want to test with the BASOP float reference build # per default, the smoke test builds the current repo again with WMOPS activated to catch unbalanced instrumentation macros - if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" = "basop-ci-branch" ]; then - python3 scripts/smoketest-basop-filter.py scripts/config/ivas_modes.json --inline - *get-basop-float-reference - bash ci/smoke_test.sh coverage - else - bash ci/smoke_test.sh - fi ### analyze for failures - if ! [ -s smoke_test_output.txt ] || ! [ -s smoke_test_output_jbm.txt ] || ! [ -s smoke_test_output_hrtf.txt ]; then echo "Error in smoke test"; exit 1; fi - ret_val=0 Loading Loading @@ -648,7 +673,7 @@ codec-usan: pytest-compare-20ms-and-5ms-rendering: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main stage: test needs: ["build-codec-linux-cmake", "build-codec-linux-make", "build-codec-instrumented-linux", "build-codec-sanitizers-linux"] script: Loading Loading @@ -695,7 +720,7 @@ pytest-compare-20ms-and-5ms-rendering: renderer-smoke-test: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-make"] stage: test script: Loading @@ -717,7 +742,7 @@ renderer-smoke-test: renderer-asan: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-cmake"] stage: test script: Loading @@ -741,7 +766,7 @@ renderer-asan: renderer-msan: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-cmake"] stage: test script: Loading @@ -765,7 +790,7 @@ renderer-msan: renderer-usan: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-cmake"] stage: test script: Loading Loading @@ -793,7 +818,7 @@ renderer-usan: renderer-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-make"] # TODO: set reasonable timeout, will most likely take less timeout: "20 minutes" Loading Loading @@ -845,7 +870,7 @@ renderer-pytest-on-merge-request: split-rendering-smoke-test: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-make"] stage: test script: Loading @@ -866,7 +891,7 @@ split-rendering-smoke-test: lc3-wrapper-unit-test: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-cmake"] stage: test script: Loading @@ -878,7 +903,7 @@ lc3-wrapper-unit-test: split-rendering-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-make"] # TODO: set reasonable timeout, will most likely take less timeout: "30 minutes" Loading Loading @@ -950,7 +975,7 @@ split-rendering-pytest-on-merge-request: ivas-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-main stage: compare needs: ["build-codec-linux-cmake", "codec-smoke-test"] timeout: "14 minutes" Loading Loading @@ -1004,7 +1029,7 @@ ivas-pytest-on-merge-request: ivas-interop-on-merge-request: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-main stage: test needs: ["build-codec-linux-cmake"] timeout: "10 minutes" Loading Loading @@ -1053,7 +1078,7 @@ ivas-interop-on-merge-request: evs-pytest-on-merge-request: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main stage: compare needs: ["build-codec-linux-cmake", "codec-smoke-test"] timeout: "10 minutes" Loading Loading @@ -1105,7 +1130,7 @@ evs-pytest-on-merge-request: voip-be-on-merge-request: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-main stage: test needs: ["build-codec-linux-make"] timeout: "10 minutes" Loading @@ -1118,7 +1143,7 @@ voip-be-on-merge-request: clang-format-check: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main variables: ARTIFACT_BASE_NAME: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--formatting-fix" stage: prevalidate Loading Loading @@ -1165,7 +1190,7 @@ clang-format-check: check-first-frame-is-sid: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-main tags: - ivas-linux stage: test Loading @@ -1192,7 +1217,7 @@ check-first-frame-is-sid: .lc3plus-ensure-no-code-changes: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main stage: postvalidate needs: [] timeout: "5 minutes" Loading @@ -1207,7 +1232,7 @@ check-first-frame-is-sid: check-bitexactness-hrtf-rom-and-file: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main stage: test needs: ["build-codec-linux-cmake"] timeout: "5 minutes" Loading @@ -1229,7 +1254,7 @@ check-bitexactness-hrtf-rom-and-file: check-bitexactness-ext-and-transport-format: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main stage: test needs: ["build-codec-linux-cmake"] timeout: "5 minutes" Loading @@ -1256,7 +1281,7 @@ check-bitexactness-ext-and-transport-format: # check bitexactness to EVS windows binaries be-2-evs-windows: extends: - .rules-merge-request - .rules-merge-request-to-main tags: - ivas-windows stage: test Loading Loading
.gitlab-ci.yml +63 −38 Original line number Diff line number Diff line Loading @@ -132,6 +132,12 @@ stages: - sed -i.bak -e "s/\/\*\ *\(#define\ *DEBUGGING\ *\)\*\//\1/g" lib_com/options.h - sed -i.bak -e "s/\/\/\ *\(#define\ *DEBUGGING\ *\)/\1/g" lib_com/options.h .get-basop-float-reference: &get-basop-float-reference - 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 ./ - cp ivas-basop/IVAS_dec ./ .merge-request-comparison-setup-codec: &merge-request-comparison-setup-codec ### build test binaries, initial clean for paranoia reasons - *disable-debugging-macro Loading Loading @@ -279,10 +285,24 @@ stages: when: never - when: on_success .rules-merge-request: .rules-merge-request-to-main: extends: .rules-basis rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main" # only have MR pipelines for MRs to main - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main" - if: $CI_PIPELINE_SOURCE == 'push' when: never .rules-merge-request-to-basop-ci-branch: extends: .rules-basis rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "basop-ci-branch" - if: $CI_PIPELINE_SOURCE == 'push' when: never .rules-merge-request-to-basop-ci-branch-or-main: extends: .rules-basis rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "basop-ci-branch" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main") - if: $CI_PIPELINE_SOURCE == 'push' when: never Loading Loading @@ -327,7 +347,7 @@ stages: stage: test extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-main artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results" expire_in: 1 week Loading Loading @@ -396,7 +416,7 @@ uninterruptible: branch-is-up-to-date-with-main-pre: extends: - .rules-merge-request - .rules-merge-request-to-main stage: prevalidate needs: [] tags: Loading @@ -408,7 +428,7 @@ branch-is-up-to-date-with-main-pre: check-self-test-names-pre: extends: - .rules-merge-request - .rules-merge-request-to-main stage: prevalidate needs: [] tags: Loading @@ -418,7 +438,7 @@ check-self-test-names-pre: check-no-duplicates-in-self-tests: extends: - .rules-merge-request - .rules-merge-request-to-main stage: prevalidate needs: [] tags: Loading @@ -428,7 +448,7 @@ check-no-duplicates-in-self-tests: branch-is-up-to-date-with-main-post: extends: - .rules-merge-request - .rules-merge-request-to-main stage: postvalidate tags: - ivas-linux Loading @@ -440,24 +460,19 @@ branch-is-up-to-date-with-main-post: .basop-ci-branch-compat-template: extends: - .test-job-linux rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "basop-ci-branch" changes: - tests/**/* - scripts/**/* - if: $CI_PIPELINE_SOURCE == 'push' when: never - .rules-merge-request-to-basop-ci-branch tags: - ivas-linux-fast before_script: - git clone -b $BASOP_REFERENCE_BRANCH https://forge.3gpp.org/rep/sa4/audio/ivas-basop.git --single-branch - make -j -C ivas-basop - python3 ci/remove_unsupported_testcases.py $PARAM_FILE - python3 tests/create_short_testvectors.py - *update-ltv-repo - *copy-ltv-files-to-testv-dir - python3 -m pytest tests/codec_be_on_mr_nonselection --param_file $PARAM_FILE --update_ref 1 --ref_encoder_path ivas-basop/IVAS_cod --ref_decoder_path ivas-basop/IVAS_dec --html=report.html --self-contained-html --junit-xml=report-junit.xml || true - *get-basop-float-reference - python3 -m pytest tests/codec_be_on_mr_nonselection --param_file $PARAM_FILE --update_ref 1 --ref_encoder_path IVAS_cod --ref_decoder_path IVAS_dec --html=report.html --self-contained-html --junit-xml=report-junit.xml || true - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - if [ $zero_errors != 1 ]; then echo "Run errors encountered with $PARAM_FILE !"; exit $EXIT_CODE_FAIL; fi Loading Loading @@ -579,7 +594,7 @@ build-codec-windows-msbuild: codec-smoke-test: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-basop-ci-branch-or-main timeout: "20 minutes" tags: - ivas-linux-fast Loading @@ -589,7 +604,17 @@ codec-smoke-test: - *print-common-info # LTV update needed as ltv ISM metadata files are used - *update-ltv-repo # for MRs to basop-ci-branch, we want to test with the BASOP float reference build # per default, the smoke test builds the current repo again with WMOPS activated to catch unbalanced instrumentation macros - if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" = "basop-ci-branch" ]; then - python3 scripts/smoketest-basop-filter.py scripts/config/ivas_modes.json --inline - *get-basop-float-reference - bash ci/smoke_test.sh coverage - else - bash ci/smoke_test.sh - fi ### analyze for failures - if ! [ -s smoke_test_output.txt ] || ! [ -s smoke_test_output_jbm.txt ] || ! [ -s smoke_test_output_hrtf.txt ]; then echo "Error in smoke test"; exit 1; fi - ret_val=0 Loading Loading @@ -648,7 +673,7 @@ codec-usan: pytest-compare-20ms-and-5ms-rendering: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main stage: test needs: ["build-codec-linux-cmake", "build-codec-linux-make", "build-codec-instrumented-linux", "build-codec-sanitizers-linux"] script: Loading Loading @@ -695,7 +720,7 @@ pytest-compare-20ms-and-5ms-rendering: renderer-smoke-test: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-make"] stage: test script: Loading @@ -717,7 +742,7 @@ renderer-smoke-test: renderer-asan: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-cmake"] stage: test script: Loading @@ -741,7 +766,7 @@ renderer-asan: renderer-msan: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-cmake"] stage: test script: Loading @@ -765,7 +790,7 @@ renderer-msan: renderer-usan: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-cmake"] stage: test script: Loading Loading @@ -793,7 +818,7 @@ renderer-usan: renderer-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-make"] # TODO: set reasonable timeout, will most likely take less timeout: "20 minutes" Loading Loading @@ -845,7 +870,7 @@ renderer-pytest-on-merge-request: split-rendering-smoke-test: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-make"] stage: test script: Loading @@ -866,7 +891,7 @@ split-rendering-smoke-test: lc3-wrapper-unit-test: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-cmake"] stage: test script: Loading @@ -878,7 +903,7 @@ lc3-wrapper-unit-test: split-rendering-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-main needs: ["build-codec-linux-make"] # TODO: set reasonable timeout, will most likely take less timeout: "30 minutes" Loading Loading @@ -950,7 +975,7 @@ split-rendering-pytest-on-merge-request: ivas-pytest-on-merge-request: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-main stage: compare needs: ["build-codec-linux-cmake", "codec-smoke-test"] timeout: "14 minutes" Loading Loading @@ -1004,7 +1029,7 @@ ivas-pytest-on-merge-request: ivas-interop-on-merge-request: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-main stage: test needs: ["build-codec-linux-cmake"] timeout: "10 minutes" Loading Loading @@ -1053,7 +1078,7 @@ ivas-interop-on-merge-request: evs-pytest-on-merge-request: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main stage: compare needs: ["build-codec-linux-cmake", "codec-smoke-test"] timeout: "10 minutes" Loading Loading @@ -1105,7 +1130,7 @@ evs-pytest-on-merge-request: voip-be-on-merge-request: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-main stage: test needs: ["build-codec-linux-make"] timeout: "10 minutes" Loading @@ -1118,7 +1143,7 @@ voip-be-on-merge-request: clang-format-check: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main variables: ARTIFACT_BASE_NAME: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--formatting-fix" stage: prevalidate Loading Loading @@ -1165,7 +1190,7 @@ clang-format-check: check-first-frame-is-sid: extends: - .test-job-linux-needs-testv-dir - .rules-merge-request - .rules-merge-request-to-main tags: - ivas-linux stage: test Loading @@ -1192,7 +1217,7 @@ check-first-frame-is-sid: .lc3plus-ensure-no-code-changes: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main stage: postvalidate needs: [] timeout: "5 minutes" Loading @@ -1207,7 +1232,7 @@ check-first-frame-is-sid: check-bitexactness-hrtf-rom-and-file: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main stage: test needs: ["build-codec-linux-cmake"] timeout: "5 minutes" Loading @@ -1229,7 +1254,7 @@ check-bitexactness-hrtf-rom-and-file: check-bitexactness-ext-and-transport-format: extends: - .test-job-linux - .rules-merge-request - .rules-merge-request-to-main stage: test needs: ["build-codec-linux-cmake"] timeout: "5 minutes" Loading @@ -1256,7 +1281,7 @@ check-bitexactness-ext-and-transport-format: # check bitexactness to EVS windows binaries be-2-evs-windows: extends: - .rules-merge-request - .rules-merge-request-to-main tags: - ivas-windows stage: test Loading