From a4c64c41d3e58d7d68ca9c52eb0f16aa679434b0 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Sun, 17 Feb 2019 22:19:43 +0000 Subject: [PATCH] Fix wrong docs on untagged jobs --- doc/ci/runners/README.md | 67 +++++++++++++++++++++++++++++++++------- 1 file changed, 55 insertions(+), 12 deletions(-) diff --git a/doc/ci/runners/README.md b/doc/ci/runners/README.md index c742dc61368..ce55b231666 100644 --- a/doc/ci/runners/README.md +++ b/doc/ci/runners/README.md @@ -240,21 +240,64 @@ shared Runners will [only run the jobs they are equipped to run](../yaml/README. For instance, at GitLab we have Runners tagged with "rails" if they contain the appropriate dependencies to run Rails test suites. -### Preventing Runners with tags from picking jobs without tags +### Allowing Runners with tags to pick jobs without tags -You can configure a Runner to prevent it from picking -[jobs with tags](../yaml/README.md#tags) when the Runner does not have tags -assigned. This setting can be enabled the first -time you [register a Runner][register] and can be changed afterwards under -each Runner's settings. +When you [register a Runner][register], its default behavior is to **only pick** +[tagged jobs](../yaml/README.md#tags). -To make a Runner pick tagged/untagged jobs: +NOTE: **Note:** +Maintainer [permissions](../../user/permissions.md) are required to change the +Runner settings. -1. Visit your project's **Settings ➔ CI/CD** -1. Find the Runner you wish and make sure it's enabled -1. Click the pencil button -1. Check the **Run untagged jobs** option -1. Click **Save changes** for the changes to take effect +To make a Runner pick untagged jobs: + +1. Visit your project's **Settings > CI/CD > Runners**. +1. Find the Runner you want to pick untagged jobs and make sure it's enabled. +1. Click the pencil button. +1. Check the **Run untagged jobs** option. +1. Click the **Save changes** button for the changes to take effect. + +NOTE: **Note:** +The Runner tags list can not be empty when it's not allowed to pick untagged jobs. + +Below are some example scenarios of different variations. + +#### Runner runs only tagged jobs + +The following examples illustrate the potential impact of the Runner being set +to run only tagged jobs. + +Example 1: + +1. The Runner is configured to run only tagged jobs and has the `docker` tag. +1. A job that has a `hello` tag is executed and stuck. + +Example 2: + +1. The Runner is configured to run only tagged jobs and has the `docker` tag. +1. A job that has a `docker` tag is executed and run. + +Example 3: + +1. The Runner is configured to run only tagged jobs and has the `docker` tag. +1. A job that has no tags defined is executed and stuck. + +#### Runner is allowed to run untagged jobs + +The following examples illustrate the potential impact of the Runner being set +to run tagged and untagged jobs. + +Example 1: + +1. The Runner is configured to run untagged jobs and has the `docker` tag. +1. A job that has no tags defined is executed and run. +1. A second job that has a `docker` tag defined is executed and run. + +Example 2: + +1. The Runner is configured to run untagged jobs and has no tags defined. +1. A job that has no tags defined is executed and run. +1. A second job that has a `docker` tag defined is stuck. ### Setting maximum job timeout for a Runner