Commit 6caf53a5 authored by Lauros Pajunen's avatar Lauros Pajunen
Browse files

Merge remote-tracking branch 'origin/main' into ci/add-rtpdump-tests-to-basop

parents 8d832a7a 976d0cab
Loading
Loading
Loading
Loading
+84 −2
Original line number Diff line number Diff line
@@ -6,9 +6,91 @@ Home of CI configs and scripts for:
- [IVAS BASOP](https://forge.3gpp.org/rep/sa4/audio/ivas-basop)

Refer to the  [IVAS Wiki](https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec/-/wikis/home) for more info on the CI setup.
This repository is mainly meant to share scripts and configs between the two repositories and (for BASOP) between differently configured branches.
This repository is mainly meant to share scripts and configs between the two repositories and between differently configured branches.

## Notes about usage of the snippets
## Structure

``` bash
.
├── includes  # folder for (possibly shared) yaml files which are included in the main ones
│   ├── default-variables-basop.yml
│   ├── default-variables.yml
│   ├── job-templates.yml
│   ├── rules-basop.yml
│   └── rules.yml
├── main-basop.yml  # CI config for ivas-basop repo
├── main.yml  # shared CI config
├── ...
└── snippets  # Folder for scripts used in CI only. Shared ones go in the folder directly. Can be small ones or bigger scripts which implement a whole job
    ├── basop
    │   ├── ...
    ├── float
    │   └── ...
    └── ...
```

## Usage

For both repositories (ivas-codec and ivas-basop), there should be one main yml file in here which includes stuff from `includes`.
Ideally, there is no other CI code in the respective repositories except a minimal `.gitlab-ci.yml` file which includes from here (currently only achieved for ivas-basop), e.g. (from ivas-basop):

``` yaml
variables:
  # note: GitLab cannot reference variables defined by users in the include ref:, we need to use a YAML anchor for this
  # see https://docs.gitlab.com/ci/yaml/includes/#use-variables-with-include for more information
  IVAS_CODEC_CI_REF: &IVAS_CODEC_CI_REF main

# all CI code and config is included from https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec-ci
include:
  - project: ivas-codec-pc/ivas-codec-ci
    ref: *IVAS_CODEC_CI_REF
    file: main-basop.yml
```

This way, any CI change can be developed centrally in this repository and does not need to be merged/ported to different repositories/branches (e.g. keeping ivas-basop main and ivas-float-update in synch).

### Adding new CI code

1. Implement your new CI code on a branch in this repo, e.g. `add-awesome-test` and ideally add a merge request for easier review.
2. Test it by opening a branch in the respective ivas-* repository and changing IVAS_CODEC_CI_REF to your WIP branch, so the yaml there should read:

``` yaml
  IVAS_CODEC_CI_REF: &IVAS_CODEC_CI_REF add-awesome-test
```

3. If your change affects multiple repos/branches, you might need to use multiple test branches
4. Once you are done and review is complete, merge `add-awesome-test` to `main` here. The test branches in the other repos are not needed and SHOULD NOT BE MERGED.

### Overwriting CI variables in the ivas-* repos' CI configs

Usually, everything should be done in the files here, but if there is the need to still overwrite some configuration/control CI variables - e.g. to switch off something temporarily or in a branch-specific manner - this should be done by in the variables: section at the top of the `.gitlab-ci.yml` file.

Example: The variable `DISABLE_HRTF` is used in ivas-basop to disable all testcase that use external HRTF files.
The relevant part in the `.gitlab-ci.yml` file in ivas-basop looks like given below.
In practice, one would uncomment the last three lines to switch off the HRTF testcase in the respective branch only.

``` yaml
variables:
  # note: GitLab cannot reference variables defined by users in the include ref:, we need to use a YAML anchor for this
  # see https://docs.gitlab.com/ci/yaml/includes/#use-variables-with-include for more information
  IVAS_CODEC_CI_REF: &IVAS_CODEC_CI_REF main
  # If you need to set some config variable only in a local branch, then add an overwrite here
  # One example is DISABLE_HRTF - this will be set on a branch which is about to be merged and will be removed in a subsequent second MR
  # this is more easily done directly here in the child repo

  # these lines are suposed to stay commented out to serve as an example
  # # set this to true to skip the external HRTF testcases in pytest calls
  # DISABLE_HRTF: "true"
```

Useful configuration variables:

- `DISABLE_HRTF` - adds `-k not model` to `PYTEST_ADDOPTS` which skips the testcases with -hrtf in the selftest. Probably more for historic reasons.
- `BASOP_CI_SCRIPTS_BRANCH` - used to change the branch from which testscripts are pulled, see [here](https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec/-/wikis/Software-development/Test-Setup-For-BASOP-Code#how-do-i-check-that-my-new-testcase-does-work-for-basop) for more info.

### Some guidelines/hints

- use only one include section at the top of the main yml file to keep things clear, remember that later stuff overwrites earlier stuff
- in general prefer adding scripts here over using yaml anchors in a CI config file
- if your script shall modify some environment variable, you need to run it with `source` instead of calling it.
- the merge CI config in the ivas-* repos can be viewed in the pipeline editor under "full configuration" - this is especially useful when making changes which should not functionally affect the CI, then it is helpful to copy the full merged config with and without the changes and compare the files directly or as parsed yaml dict locally.
+0 −5
Original line number Diff line number Diff line
variables:
  FLOAT_REF_COMMIT_FILE: "float-ref-git-sha.txt"
  MERGE_SOURCE_FLOAT_REF_COMMIT_FILE: "merge-source-float-ref-git-sha.txt"
  MERGE_TARGET_COMMIT_FILE: "merge-target-git-sha.txt"
  FLOAT_REF_COMMIT: "ivas-float-update"
+19 −0
Original line number Diff line number Diff line
# ensure the codec builds with DEBUGGING activated
# warnings are not treated as errors here
build-codec-linux-debugging-make:
  extends:
    - .build-job-linux
  rules:
    - if: $CI_MERGE_REQUEST_TITLE =~ /^(\[Draft\]|\(Draft\)|Draft:)/
      when: never
    - if: $MANUAL_PIPELINE_TYPE == 'long-term-logs' || $MANUAL_PIPELINE_TYPE == 'backup-long-term-logs' || $UPDATE_PAGES
      when: never
    - if: $MANUAL_PIPELINE_TYPE == 'pytest-compare-enc-dmx'
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never
  timeout: "10 minutes"
  script:
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/enable-debugging-macro.sh
    - make -j
+459 −0
Original line number Diff line number Diff line
# ---------------------------------------------------------------
# Complexity measurement jobs
# ---------------------------------------------------------------

# create necessary environment
.complexity-measurements-setup:
  &complexity-measurements-setup
  ### 1. part: this is boilerplate code to make the gitlab pages presentation work
  - mkdir -p wmops/logs

  - job_id=$(python3 ci/get_id_of_last_job_occurence.py $CI_COMMIT_REF_NAME $CI_JOB_NAME $CI_PROJECT_ID)
  - echo $job_id

  # this is a testing/maintenance mechanism to force getting the log history from a specific job id
  # see below in the concrete complexity jobs
  - if [ "$JOB_ID_INJECT" != "" ]; then job_id=$JOB_ID_INJECT; fi

  - curl --silent --show-error --request GET "$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/$job_id/artifacts" --output artifacts.zip
  - unzip -qq artifacts.zip || true # this may fail on first run, when there are no artifacts there and the zip file is actually just "404"-html
  - public_dir="$CI_JOB_NAME-public"

  # if is needed to catch case when no artifact is there (first run), similarly as above
  # 1. check for public_dir being there as this might not be the case when artifact download failed
  # 2. check for public dir not being empty - handle job failures in prev job that happen after the dir is created. In that case, the empty dir is in the artifacts
  - if [ -d $public_dir ] && [ ! -z "$( ls -A $public_dir )" ]; then
  -   mv $public_dir/* wmops/
  # check here if we have the split-by-levels files present - if not, fake them up with the existing global one
  # this is needed for the first run with split graphs on a branch where the global version did run previously
  # NOTE: checking only for level_1 file here as this should already be sufficient
  # NOTE2: also not chechking for RAM for same reason
  -   wmops_all_global="wmops/log_wmops_all.txt"
  -   ram_all_global="wmops/log_ram_all.txt"
  -   if [ -f "${wmops_all_global}" ] && [ ! -f "wmops/log_wmops_all_level_1.txt" ]; then
  -     declare -a suffixes=("level_1" "level_2" "level_3" "rate_sw")
  -     for suffix in "${suffixes[@]}"; do
  -       cp ${wmops_all_global} wmops/log_wmops_all_${suffix}.txt
  -       cp ${ram_all_global} wmops/log_ram_all_${suffix}.txt
  -     done
  -   fi
  - fi

  - rm artifacts.zip
  - rm -rf $public_dir

  ### 1.5.part: get the corresponding measurement from ivas-codec main in BASOP
  # only do this for ivas-basop
  - if [ "$CI_PROJECT_ID" == "$PROJECT_ID_BASOP" ]; then
  # find id of same name job in float repo on branch main
  -   job_id=$(python3 ci/get_id_of_last_job_occurence.py main $CI_JOB_NAME $PROJECT_ID_FLOAT)
  -   echo $job_id
  -   curl --silent --show-error --request GET "$CI_API_V4_URL/projects/$PROJECT_ID_FLOAT/jobs/$job_id/artifacts" --output artifacts_ref.zip
  -   unzip -qq -j artifacts_ref.zip "*latest_WMOPS.csv" || true
  # add file to arguments only if the artifact could be retrieved to prevent error later.
  -   if [ -f latest_WMOPS.csv ]; then GET_WMOPS_ARGS="$GET_WMOPS_ARGS latest_WMOPS.csv"; fi
  - fi

 # prepare artifacts -> move to public directory
.complexity-measurements-prepare-artifacts:
  &complexity-measurements-prepare-artifacts
  - public_dir="$CI_JOB_NAME-public"
  - mkdir $public_dir
  - mv -f wmops/log_*_all*.txt ./*.js ${public_dir}/
  # move logfiles for links
  - mkdir $public_dir/logs
  # first move logs
  - log_files=$(cat $public_dir/graphs*.js | grep logFile | sed "s/.*\(wmops_newsletter_.*\.csv\).*/\1/g")
  - for f in $log_files; do [ -f wmops/logs/$f ] && mv wmops/logs/$f $public_dir/logs/$f; done
  - if [ "$CI_PROJECT_ID" == "$PROJECT_ID_FLOAT" ]; then mv wmops/logs/latest_WMOPS.csv $public_dir/logs/; fi
  # copy index page blueprint
  - cp ci/complexity_measurements/index_complexity.html ${public_dir}/index.html
  # patch the format in the title
  - sed -i "s/IVAS FORMAT/IVAS $in_format to $out_format/g" ${public_dir}/index.html
  # do separately here to avoid overwrite complaints by mv
  - mv -f ci/complexity_measurements/style.css ${public_dir}/

.complexity-measurements-report-summary: &complexity-measurements-report-summary
  - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/print-results-banner.sh
  - if [ $ret_val -eq 0 ]; then
  -   echo -e "No crashes occured.\nNo changes in complexity or memory usage (>1%) detected."
  - elif [ $ret_val -eq 123 ]; then
  -   echo -e "Changes in complexity or memory usage (>1%) detected!!!\nNo crashes occured."
  - else
  -   echo -e "Something went wrong in running the codec. Likely some modes were crashing."
  - fi

.complexity-template:
  extends:
    - .test-job-linux
  tags:
    # TODO: align runner tags between projects
    - ivas-linux-fast
  timeout: 3 hours 30 minutes
  stage: test
  variables:
    ret_val: 0
    GET_WMOPS_ARGS: ""
  before_script:
    - !reference [.job-linux, before_script]
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh
    - bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/update-ltv-repo.sh
    - |
      if [ "$CI_PROJECT_ID" == "$PROJECT_ID_BASOP" ]; then
        bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/basop/update-scripts-repo.sh
        GET_WMOPS_ARGS="mem_only"
      fi

    # delete previous jobs logfiles if present (-f flag ensures return calue of 0 even in first run where this folder is not present)
    - rm -rf COMPLEXITY/logs

    - set -euxo pipefail
    - *complexity-measurements-setup
  allow_failure:
    exit_codes:
      - 123
  artifacts:
    name: "$CI_JOB_NAME--$CI_COMMIT_REF_NAME--sha-$CI_COMMIT_SHA"
    when: always
    expire_in: 2 week
    paths:
      - $CI_JOB_NAME-public
      - COMPLEXITY/logs

complexity-stereo-in-ext-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=stereo
    - out_format=ext
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-ism-in-binaural-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 1 hour
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=ISM
    - out_format=BINAURAL
    - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-ism-in-binaural_room_ir-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 2 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=ISM
    - out_format=BINAURAL_ROOM_IR
    - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-ism-in-ext-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 3 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=ISM
    - out_format=EXT
    - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-sba-hoa3-in-ext-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 4 hours 30 minutes
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=HOA3
    - out_format=EXT
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-sba-hoa3-in-binaural-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 5 hours 30 minutes
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=HOA3
    - out_format=BINAURAL
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-sba-hoa3-in-binaural_room_ir-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 6 hours 30 minutes
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=HOA3
    - out_format=BINAURAL_ROOM_IR
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-mc-in-ext-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 7 hours 30 minutes
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=MC
    - out_format=EXT
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-mc-in-binaural-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 10 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=MC
    - out_format=BINAURAL
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-mc-in-binaural_room_ir-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 12 hours 30 minutes
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=MC
    - out_format=BINAURAL_ROOM_IR
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-masa-in-ext-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 15 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=MASA
    - out_format=EXT
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-masa-in-binaural-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 16 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=MASA
    - out_format=BINAURAL
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-masa-in-hoa3-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 17 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=MASA
    - out_format=HOA3
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-omasa-in-ext-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 18 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=OMASA
    - out_format=EXT
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-omasa-in-binaural-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 20 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=OMASA
    - out_format=BINAURAL
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-omasa-in-hoa3-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 22 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=OMASA
    - out_format=HOA3
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-StereoDmxEVS-stereo-in-mono-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 24 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=StereoDmxEVS
    - out_format=mono
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-osba-in-ext-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 25 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=OSBA
    - out_format=EXT
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-osba-in-binaural-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 28 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=OSBA
    - out_format=BINAURAL
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val

complexity-osba-in-binaural_room_ir-out:
  extends:
    - .complexity-template
  rules:
    - if: $MANUAL_PIPELINE_TYPE == 'complexity' || $MEASURE_COMPLEXITY_LINUX
      when: delayed
      start_in: 31 hours
  variables:
    JOB_ID_INJECT: ""
  script:
    - in_format=OSBA
    - out_format=BINAURAL_ROOM_IR
    - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" $GET_WMOPS_ARGS || ret_val=$?
    - *complexity-measurements-prepare-artifacts
    - *complexity-measurements-report-summary
    - exit $ret_val
+99 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading