summaryrefslogtreecommitdiff
path: root/doc/ci/lint.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ci/lint.md')
-rw-r--r--doc/ci/lint.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/doc/ci/lint.md b/doc/ci/lint.md
new file mode 100644
index 00000000000..716a4218d97
--- /dev/null
+++ b/doc/ci/lint.md
@@ -0,0 +1,41 @@
+# CI Lint
+
+If you want to test the validity of your GitLab CI/CD configuration before committing
+the changes, you can use the CI Lint tool. This tool checks for syntax and logical
+errors by default, and can simulate pipeline creation to try to find more complicated
+issues as well.
+
+To access the CI Lint tool, navigate to **CI/CD > Pipelines** or **CI/CD > Jobs**
+in your project and click **CI lint**.
+
+## Validate basic logic and syntax
+
+By default, the CI lint checks the syntax of your CI YAML configuration and also runs
+some basic logical validations.
+
+To use the CI lint, paste a complete CI configuration (`.gitlab-ci.yml` for example)
+into the text box and click **Validate**:
+
+![CI Lint](img/ci_lint.png)
+
+## Pipeline simulation
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/229794) in GitLab 13.3.
+
+Not all pipeline configuration issues can be found by the [basic CI lint validation](#validate-basic-logic-and-syntax).
+You can simulate the creation of a pipeline for deeper validation that can discover
+more complicated issues.
+
+To validate the configuration by running a pipeline simulation:
+
+1. Paste the GitLab CI configuration to verify into the text box.
+1. Click the **Simulate pipeline creation for the default branch** checkbox.
+1. Click **Validate**.
+
+![Dry run](img/ci_lint_dry_run.png)
+
+### Pipeline simulation limitations
+
+Simulations run as `git push` events against the default branch. You must have
+[permissions](../user/permissions.md#project-members-permissions) to create pipelines
+on this branch to validate with a simulation.