Loading .gitattributes +1 −0 Original line number Diff line number Diff line Loading @@ -29,5 +29,6 @@ *.mat filter=lfs diff=lfs merge=lfs -text *.met filter=lfs diff=lfs merge=lfs -text *.pcm filter=lfs diff=lfs merge=lfs -text *.sofa filter=lfs diff=lfs merge=lfs -text *.wav filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text .gitignore +5 −1 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ scripts/td_object_renderer/object_renderer_standalone/renderer_standalone.exe .cache *.log *.bak .\#* scripts/c-code_instrument/ scripts/ifdef_instrument.list scripts/ref/ Loading @@ -66,5 +67,8 @@ __pycache__/ # history .history/ #externals Externals/ # coan output files that are created when cleaning out switches coan_out_* .gitlab-ci.yml +39 −7 Original line number Diff line number Diff line Loading @@ -10,6 +10,10 @@ variables: EXIT_CODE_NON_BE: 123 EXIT_CODE_FAIL: 1 default: interruptible: true # Make all jobs by default interruptible artifacts: expire_in: 2 weeks # This sets when pipelines are created. Jobs have more specific rules to restrict them. workflow: Loading @@ -23,6 +27,7 @@ workflow: - if: $CI_PIPELINE_SOURCE == 'web' # for testing stages: - .pre - maintenance - build - test Loading Loading @@ -168,6 +173,31 @@ stages: - 123 # --------------------------------------------------------------- # .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 # --------------------------------------------------------------- # Validation jobs # --------------------------------------------------------------- Loading Loading @@ -250,14 +280,15 @@ codec-smoke-test: ### analyze for failures - if cat smoke_test_output.txt | grep -c "failed"; then echo "Smoke test without PLC failed"; exit 1; fi - if cat smoke_test_output_plc.txt | grep -c "failed"; then echo "Smoke test with PLC failed"; exit 1; fi - if cat smoke_test_output_jbm_noEXT.txt | grep -c "failed"; then echo "Smoke test with PLC failed"; exit 1; fi - if cat smoke_test_output_jbm_noEXT.txt | grep -c "failed"; then echo "Smoke test JBM part failed"; exit 1; fi - if cat smoke_test_output_hrtf.txt | grep -c "failed"; then echo "Smoke test with external hrtf files failed"; exit 1; fi artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results" paths: - out/logs/ - smoke_test_output.txt - smoke_test_output_plc.txt - smoke_test_output_jbm_noEXT.txt - smoke_test_output_hrtf.txt expose_as: "Smoke test results" # code selftest testvectors with memory-sanitizer binaries Loading Loading @@ -795,7 +826,7 @@ sanitizer-test-masa: .sanitizer-test-schedule-B: extends: - .sanitizer-test-template timeout: 3 hours timeout: 4 hours sanitizer-test-mc-5_1: extends: .sanitizer-test-schedule-B Loading @@ -810,7 +841,7 @@ sanitizer-test-mc-5_1_2: rules: - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 3 hours start_in: 4 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 5_1_2 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS Loading @@ -820,7 +851,7 @@ sanitizer-test-mc-5_1_4: rules: - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 6 hours start_in: 8 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 5_1_4 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS Loading @@ -830,7 +861,7 @@ sanitizer-test-mc-7_1: rules: - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 9 hours start_in: 12 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 7_1 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS Loading @@ -840,7 +871,7 @@ sanitizer-test-mc-7_1_4: rules: - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 12 hours start_in: 16 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 7_1_4 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS Loading Loading @@ -898,6 +929,7 @@ coverage-test-on-main-scheduled: artifacts: name: "main-coverage-sha-$CI_COMMIT_SHORT_SHA" when: always expire_in: 1 week paths: - coverage.info - coverage Loading .gitlab/issue_templates/generic_issue.md→.gitlab/issue_templates/default.md +0 −0 File moved. View file .gitlab/issue_templates/sanitizer_error.md 0 → 100644 +39 −0 Original line number Diff line number Diff line ### Basic info - Commit SHA: ### Bug description Clang (msan/asan?) sanitizer test in pipeline found an error: <!--- Copy sanitizer traceback from command line here --> ``` ``` <!--- Copy test job URL here --> Link to test pipeline: XXX ### Ways to reproduce Using the [scripts](https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec/-/wikis/Software-development/pyivastest-howto#how-to-reproduce-tests): <!--- check correct sanitizer type --> <!--- add error pattern if needed --> ``` python3 scripts/IvasBuildAndRunChecks.py --checks CLANGX -m MODE -p /path/to/my/local/ci_linux_ltv_local.json ``` or directly: ``` make clean make -j CLANG=X ./IVAS_cod ... eid-xor -vbr -fer bit ep_015.g192 bit_fer ./IVAS_dec ... ``` <!--- Below are labels that will be added but are not shown in description. This is a template to help fill them. Add further information to the first row and remove and add labels as necessary. --> /label ~"Priority::Critical" ~Company: ~Subpart: /label ~Type:Bug ~Status::ToDo Loading
.gitattributes +1 −0 Original line number Diff line number Diff line Loading @@ -29,5 +29,6 @@ *.mat filter=lfs diff=lfs merge=lfs -text *.met filter=lfs diff=lfs merge=lfs -text *.pcm filter=lfs diff=lfs merge=lfs -text *.sofa filter=lfs diff=lfs merge=lfs -text *.wav filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text
.gitignore +5 −1 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ scripts/td_object_renderer/object_renderer_standalone/renderer_standalone.exe .cache *.log *.bak .\#* scripts/c-code_instrument/ scripts/ifdef_instrument.list scripts/ref/ Loading @@ -66,5 +67,8 @@ __pycache__/ # history .history/ #externals Externals/ # coan output files that are created when cleaning out switches coan_out_*
.gitlab-ci.yml +39 −7 Original line number Diff line number Diff line Loading @@ -10,6 +10,10 @@ variables: EXIT_CODE_NON_BE: 123 EXIT_CODE_FAIL: 1 default: interruptible: true # Make all jobs by default interruptible artifacts: expire_in: 2 weeks # This sets when pipelines are created. Jobs have more specific rules to restrict them. workflow: Loading @@ -23,6 +27,7 @@ workflow: - if: $CI_PIPELINE_SOURCE == 'web' # for testing stages: - .pre - maintenance - build - test Loading Loading @@ -168,6 +173,31 @@ stages: - 123 # --------------------------------------------------------------- # .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 # --------------------------------------------------------------- # Validation jobs # --------------------------------------------------------------- Loading Loading @@ -250,14 +280,15 @@ codec-smoke-test: ### analyze for failures - if cat smoke_test_output.txt | grep -c "failed"; then echo "Smoke test without PLC failed"; exit 1; fi - if cat smoke_test_output_plc.txt | grep -c "failed"; then echo "Smoke test with PLC failed"; exit 1; fi - if cat smoke_test_output_jbm_noEXT.txt | grep -c "failed"; then echo "Smoke test with PLC failed"; exit 1; fi - if cat smoke_test_output_jbm_noEXT.txt | grep -c "failed"; then echo "Smoke test JBM part failed"; exit 1; fi - if cat smoke_test_output_hrtf.txt | grep -c "failed"; then echo "Smoke test with external hrtf files failed"; exit 1; fi artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results" paths: - out/logs/ - smoke_test_output.txt - smoke_test_output_plc.txt - smoke_test_output_jbm_noEXT.txt - smoke_test_output_hrtf.txt expose_as: "Smoke test results" # code selftest testvectors with memory-sanitizer binaries Loading Loading @@ -795,7 +826,7 @@ sanitizer-test-masa: .sanitizer-test-schedule-B: extends: - .sanitizer-test-template timeout: 3 hours timeout: 4 hours sanitizer-test-mc-5_1: extends: .sanitizer-test-schedule-B Loading @@ -810,7 +841,7 @@ sanitizer-test-mc-5_1_2: rules: - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 3 hours start_in: 4 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 5_1_2 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS Loading @@ -820,7 +851,7 @@ sanitizer-test-mc-5_1_4: rules: - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 6 hours start_in: 8 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 5_1_4 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS Loading @@ -830,7 +861,7 @@ sanitizer-test-mc-7_1: rules: - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 9 hours start_in: 12 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 7_1 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS Loading @@ -840,7 +871,7 @@ sanitizer-test-mc-7_1_4: rules: - if: $SANITIZER_SCHEDULE_B when: delayed start_in: 12 hours start_in: 16 hours script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py 7_1_4 $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS Loading Loading @@ -898,6 +929,7 @@ coverage-test-on-main-scheduled: artifacts: name: "main-coverage-sha-$CI_COMMIT_SHORT_SHA" when: always expire_in: 1 week paths: - coverage.info - coverage Loading
.gitlab/issue_templates/generic_issue.md→.gitlab/issue_templates/default.md +0 −0 File moved. View file
.gitlab/issue_templates/sanitizer_error.md 0 → 100644 +39 −0 Original line number Diff line number Diff line ### Basic info - Commit SHA: ### Bug description Clang (msan/asan?) sanitizer test in pipeline found an error: <!--- Copy sanitizer traceback from command line here --> ``` ``` <!--- Copy test job URL here --> Link to test pipeline: XXX ### Ways to reproduce Using the [scripts](https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec/-/wikis/Software-development/pyivastest-howto#how-to-reproduce-tests): <!--- check correct sanitizer type --> <!--- add error pattern if needed --> ``` python3 scripts/IvasBuildAndRunChecks.py --checks CLANGX -m MODE -p /path/to/my/local/ci_linux_ltv_local.json ``` or directly: ``` make clean make -j CLANG=X ./IVAS_cod ... eid-xor -vbr -fer bit ep_015.g192 bit_fer ./IVAS_dec ... ``` <!--- Below are labels that will be added but are not shown in description. This is a template to help fill them. Add further information to the first row and remove and add labels as necessary. --> /label ~"Priority::Critical" ~Company: ~Subpart: /label ~Type:Bug ~Status::ToDo