Run CI/CD jobs locally ====================== It can be very annoying to push your code only to learn that you broke the CI pipeline. This can be circumvented if you run the respective jobs locally before pushing. With the node package `gitlab-ci-local `_ you can run gitlab pipelines locally as shell executor or docker executor. There are `installation instructions `_ available for Linux (debian), NPM, MacOS and Windows. To view all available jobs use the `gitlab-ci-local --list` command: .. code-block:: bash ❯ gitlab-ci-local --list parsing and downloads finished in 311 ms. json schema validated in 77 ms name description stage when allow_failure needs detect-version management_prepare on_success false [] pmd-apex-sast test on_success true check-cross-operator-imports test on_success false [] lint-python test on_success false [] lint-text test on_success false [] lint-yaml-jinja test on_success false [] lint-cue test on_success false [] typecheck-python test on_success false [] unittest test on_success false [] check-structure test on_success true [] build-operator-image: [amd64] build on_success false [check-cross-operator-imports,lint-python,lint-text,detect-version] build-operator-image: [arm64] build on_success false [check-cross-operator-imports,lint-python,lint-text,detect-version] build-helm-charts build on_success false [detect-version] build-docs-check build on_success false [] manifest manifest on_success false integrationtest-zed integrationtest on_success false publish-docker-image management on_success false publish-helm-charts management on_success false tag-release management on_success false To run the `build-docs-check` job execute ``gitlab-ci-local --job build-docs-check``. This will build the docs and mount the artifact to your current working directory. See the `docs `_ for more info. You might see an error message like this: .. code-block:: bash ❯ gitlab-ci-local --job build-docs-check parsing and downloads finished in 657 ms. json schema validated in 79 ms build-docs-check starting gitlab.com:443/yaook/dependency_proxy/containers/python:3.11 (build) Please authenticate to the Dependency Proxy (gitlab.com:443) https://docs.gitlab.com/ee/user/packages/dependency_proxy/#authenticate-with-the-dependency-proxy You have to authenticate against Gitlab (see also `GitLab Docs `_ in order to pull images from the dependency proxy. Please consider, that you have to be in the `Yaook` group with at least role `Guest`. .. code-block:: bash echo "" | docker login gitlab.com:443 -u --password-stdin Useful command -------------- .. code-block:: bash # run all jobs of stage 'test' gitlab-ci-local --stage test # run single job 'build-docs-check' gitlab-ci-local --job build-docs-check # list jobs gitlab-ci-local --list