Loading .gitlab-ci.yml +39 −236 Original line number Diff line number Diff line Loading @@ -5,7 +5,10 @@ variables: SCRIPTS_DIR: "/usr/local/scripts" EXIT_CODE_NON_BE: 123 EXIT_CODE_FAIL: 1 TEST_SUITE: "tests/codec_be_on_mr_nonselection tests/test_param_file_ltv.py tests/renderer" LARGE_TEST_SUITE: "tests/codec_be_on_mr_nonselection tests/test_param_file_ltv.py tests/renderer" SHORT_TEST_SUITE: "tests/codec_be_on_mr_nonselection" USE_REF_ENC: "1" TEST_SUITE: "" LEVEL_SCALING: "1.0" IVAS_PIPELINE_NAME: '' MANUAL_PIPELINE_TYPE: Loading Loading @@ -136,29 +139,8 @@ stages: - if [ ! -d "$TESTV_DIR" ]; then mkdir -p $TESTV_DIR; fi - cp -r scripts/testv/* $TESTV_DIR/ # --------------------------------------------------------------- # Build jobs # --------------------------------------------------------------- # ensure that codec builds on linux build-codec-linux-make: rules: - if: $CI_PIPELINE_SOURCE == 'web' - if: $CI_PIPELINE_SOURCE == 'push' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - 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 == 'push' when: never extends: - .build-job-linux script: - *print-common-info - make -j # --------------------------------------------------------------- # Test jobs # --------------------------------------------------------------- ivas-pytest-mld-enc-dec: .ivas-pytest-mld-anchor: &ivas-pytest-mld-anchor extends: - .test-job-linux - .rules-pytest-mld Loading @@ -168,187 +150,23 @@ ivas-pytest-mld-enc-dec: script: - *print-common-info - *update-scripts-repo - if [ $USE_LTV -eq 1 ]; then - *update-ltv-repo - *copy-ltv-files-to-testv-dir - fi - *remove-unsupported-testcases - *mld-test-setup-codec ### run pytest - exit_code=0 - python3 -m pytest $TEST_SUITE -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 - 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 - .rules-pytest-mld stage: test needs: ["build-codec-linux-make"] timeout: "30 minutes" script: - *print-common-info - *update-scripts-repo - *update-ltv-repo - *copy-ltv-files-to-testv-dir - *remove-unsupported-testcases - *mld-test-setup-codec ### run pytest - exit_code=0 - python3 -m pytest $TEST_SUITE -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 - 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-lev-10: extends: - .test-job-linux stage: test needs: ["build-codec-linux-make"] timeout: "30 minutes" script: - *print-common-info - *update-scripts-repo - *update-ltv-repo - *copy-ltv-files-to-testv-dir - *remove-unsupported-testcases - LEVEL_SCALING=0.3162 # -10 dB, 10^(-10/20) - if [ $LEVEL_SCALING != "1.0" ];then - *apply-testv-scaling - fi - *mld-test-setup-codec ### run pytest - exit_code=0 - if [ $USE_REF_ENC -eq 1 ]; then - python3 -m pytest $TEST_SUITE -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 - 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-lev+10: extends: - .test-job-linux stage: test needs: ["build-codec-linux-make"] timeout: "30 minutes" script: - *print-common-info - *update-scripts-repo - *update-ltv-repo - *copy-ltv-files-to-testv-dir - *remove-unsupported-testcases - LEVEL_SCALING=3.162 # +10 dB, 10^(10/20) - *apply-testv-scaling - *mld-test-setup-codec ### run pytest - exit_code=0 - python3 -m pytest $TEST_SUITE -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 - 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-enc-dec-lev-10: extends: - .test-job-linux stage: test needs: ["build-codec-linux-make"] timeout: "30 minutes" script: - *print-common-info - *update-scripts-repo - *update-ltv-repo - *copy-ltv-files-to-testv-dir - *remove-unsupported-testcases - LEVEL_SCALING=0.3162 # -10 dB, 10^(-10/20) - *apply-testv-scaling - *mld-test-setup-codec ### run pytest - exit_code=0 - else - python3 -m pytest $TEST_SUITE -v --html=report.html --self-contained-html --junit-xml=report-junit.xml --mld -n auto || exit_code=$? - fi - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - python3 scripts/parse_mld.py report.html mld.csv Loading @@ -373,46 +191,31 @@ ivas-pytest-mld-enc-dec-lev-10: junit: - report-junit.xml ivas-pytest-mld-enc-dec-lev+10: # --------------------------------------------------------------- # Build jobs # --------------------------------------------------------------- # ensure that codec builds on linux build-codec-linux-make: rules: - if: $CI_PIPELINE_SOURCE == 'web' - if: $CI_PIPELINE_SOURCE == 'push' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - 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 == 'push' when: never extends: - .test-job-linux stage: test needs: ["build-codec-linux-make"] timeout: "30 minutes" - .build-job-linux script: - *print-common-info - *update-scripts-repo - *update-ltv-repo - *copy-ltv-files-to-testv-dir - *remove-unsupported-testcases - LEVEL_SCALING=3.162 # +10 dB, 10^(10/20) - *apply-testv-scaling - *mld-test-setup-codec ### run pytest - exit_code=0 - python3 -m pytest $TEST_SUITE -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 - 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 - make -j 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 # --------------------------------------------------------------- # Test jobs # --------------------------------------------------------------- ivas-pytest-mld-enc-dec: before_script: - USE_REF_ENC=0 - TEST_SUITE=$SHORT_TEST_SUITE - LEVEL_SCALING=1.0 *ivas-pytest-mld-anchor No newline at end of file Loading
.gitlab-ci.yml +39 −236 Original line number Diff line number Diff line Loading @@ -5,7 +5,10 @@ variables: SCRIPTS_DIR: "/usr/local/scripts" EXIT_CODE_NON_BE: 123 EXIT_CODE_FAIL: 1 TEST_SUITE: "tests/codec_be_on_mr_nonselection tests/test_param_file_ltv.py tests/renderer" LARGE_TEST_SUITE: "tests/codec_be_on_mr_nonselection tests/test_param_file_ltv.py tests/renderer" SHORT_TEST_SUITE: "tests/codec_be_on_mr_nonselection" USE_REF_ENC: "1" TEST_SUITE: "" LEVEL_SCALING: "1.0" IVAS_PIPELINE_NAME: '' MANUAL_PIPELINE_TYPE: Loading Loading @@ -136,29 +139,8 @@ stages: - if [ ! -d "$TESTV_DIR" ]; then mkdir -p $TESTV_DIR; fi - cp -r scripts/testv/* $TESTV_DIR/ # --------------------------------------------------------------- # Build jobs # --------------------------------------------------------------- # ensure that codec builds on linux build-codec-linux-make: rules: - if: $CI_PIPELINE_SOURCE == 'web' - if: $CI_PIPELINE_SOURCE == 'push' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - 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 == 'push' when: never extends: - .build-job-linux script: - *print-common-info - make -j # --------------------------------------------------------------- # Test jobs # --------------------------------------------------------------- ivas-pytest-mld-enc-dec: .ivas-pytest-mld-anchor: &ivas-pytest-mld-anchor extends: - .test-job-linux - .rules-pytest-mld Loading @@ -168,187 +150,23 @@ ivas-pytest-mld-enc-dec: script: - *print-common-info - *update-scripts-repo - if [ $USE_LTV -eq 1 ]; then - *update-ltv-repo - *copy-ltv-files-to-testv-dir - fi - *remove-unsupported-testcases - *mld-test-setup-codec ### run pytest - exit_code=0 - python3 -m pytest $TEST_SUITE -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 - 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 - .rules-pytest-mld stage: test needs: ["build-codec-linux-make"] timeout: "30 minutes" script: - *print-common-info - *update-scripts-repo - *update-ltv-repo - *copy-ltv-files-to-testv-dir - *remove-unsupported-testcases - *mld-test-setup-codec ### run pytest - exit_code=0 - python3 -m pytest $TEST_SUITE -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 - 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-lev-10: extends: - .test-job-linux stage: test needs: ["build-codec-linux-make"] timeout: "30 minutes" script: - *print-common-info - *update-scripts-repo - *update-ltv-repo - *copy-ltv-files-to-testv-dir - *remove-unsupported-testcases - LEVEL_SCALING=0.3162 # -10 dB, 10^(-10/20) - if [ $LEVEL_SCALING != "1.0" ];then - *apply-testv-scaling - fi - *mld-test-setup-codec ### run pytest - exit_code=0 - if [ $USE_REF_ENC -eq 1 ]; then - python3 -m pytest $TEST_SUITE -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 - 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-lev+10: extends: - .test-job-linux stage: test needs: ["build-codec-linux-make"] timeout: "30 minutes" script: - *print-common-info - *update-scripts-repo - *update-ltv-repo - *copy-ltv-files-to-testv-dir - *remove-unsupported-testcases - LEVEL_SCALING=3.162 # +10 dB, 10^(10/20) - *apply-testv-scaling - *mld-test-setup-codec ### run pytest - exit_code=0 - python3 -m pytest $TEST_SUITE -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 - 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-enc-dec-lev-10: extends: - .test-job-linux stage: test needs: ["build-codec-linux-make"] timeout: "30 minutes" script: - *print-common-info - *update-scripts-repo - *update-ltv-repo - *copy-ltv-files-to-testv-dir - *remove-unsupported-testcases - LEVEL_SCALING=0.3162 # -10 dB, 10^(-10/20) - *apply-testv-scaling - *mld-test-setup-codec ### run pytest - exit_code=0 - else - python3 -m pytest $TEST_SUITE -v --html=report.html --self-contained-html --junit-xml=report-junit.xml --mld -n auto || exit_code=$? - fi - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - python3 scripts/parse_mld.py report.html mld.csv Loading @@ -373,46 +191,31 @@ ivas-pytest-mld-enc-dec-lev-10: junit: - report-junit.xml ivas-pytest-mld-enc-dec-lev+10: # --------------------------------------------------------------- # Build jobs # --------------------------------------------------------------- # ensure that codec builds on linux build-codec-linux-make: rules: - if: $CI_PIPELINE_SOURCE == 'web' - if: $CI_PIPELINE_SOURCE == 'push' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - 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 == 'push' when: never extends: - .test-job-linux stage: test needs: ["build-codec-linux-make"] timeout: "30 minutes" - .build-job-linux script: - *print-common-info - *update-scripts-repo - *update-ltv-repo - *copy-ltv-files-to-testv-dir - *remove-unsupported-testcases - LEVEL_SCALING=3.162 # +10 dB, 10^(10/20) - *apply-testv-scaling - *mld-test-setup-codec ### run pytest - exit_code=0 - python3 -m pytest $TEST_SUITE -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 - 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 - make -j 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 # --------------------------------------------------------------- # Test jobs # --------------------------------------------------------------- ivas-pytest-mld-enc-dec: before_script: - USE_REF_ENC=0 - TEST_SUITE=$SHORT_TEST_SUITE - LEVEL_SCALING=1.0 *ivas-pytest-mld-anchor No newline at end of file