diff --git a/web/content/docs/devguide/testing/gitlab-ci/index.md b/web/content/docs/devguide/testing/gitlab-ci/index.md index e9f2398a4459cd77e2ea658165b7347157a8b029..8f6b72ac0ddadcdecfea2dd3fde659afd6a13ee3 100644 --- a/web/content/docs/devguide/testing/gitlab-ci/index.md +++ b/web/content/docs/devguide/testing/gitlab-ci/index.md @@ -43,3 +43,29 @@ Or add `[ci skip]` to the commit message to skip the pipeline for this commit. E ```bash git commit -m "Added feature X [ci skip]" ``` + +## (Temporarily) reduce pipeline run time + +During work on MR you may want to reduce the pipeline run time to get feedback faster. You can change the pipeline by editing the `.gitlab-ci.yml` and `scripts/ci/jobs/*.yml` files. It is good practice to mark these changes with commits starting with `drop: ...` in the commit message so they can be removed later easily. + +### `.gitlab-ci.yml` + +These variables modify the pipeline: + +- `BUILD_TESTS`: Set this to `false` to disable unit tests. +- `BUILD_CTEST`: Set this to `false` to disable ctest (benchmark) tests. +- `CTEST_INCLUDE_REGEX`: Set this to a regex to select benchmarks to run, e.g. `nb` would select all notebook-based tests and would disable all other benchmarks. + +All jobs get included in the `include:`-section. You can simple comment out files to disable jobs defined in that files. Please note that some jobs depend on other jobs. + +### `scripts/ci/jobs/*.yml` + +All jobs are defined in these files. You can disable a single job by prefixing its name with a dot, e.g.: + +```yml +# enabled job: +build linux arch: + +# disabled job: +.build linux arch: +```