@@ -117,7 +117,7 @@ The following table lists available parameters for jobs:
...
@@ -117,7 +117,7 @@ The following table lists available parameters for jobs:
| [`extends`](#extends) | Configuration entries that this job is going to inherit from. |
| [`extends`](#extends) | Configuration entries that this job is going to inherit from. |
| [`pages`](#pages) | Upload the result of a job to use with GitLab Pages. |
| [`pages`](#pages) | Upload the result of a job to use with GitLab Pages. |
| [`variables`](#variables) | Define job variables on a job level. |
| [`variables`](#variables) | Define job variables on a job level. |
| [interruptible](#interruptible) | Defines if a job can be canceled when made redundant by a newer run |
| [`interruptible`](#interruptible) | Defines if a job can be canceled when made redundant by a newer run. |
NOTE: **Note:**
NOTE: **Note:**
Parameters `types` and `type` are [deprecated](#deprecated-parameters).
Parameters `types` and `type` are [deprecated](#deprecated-parameters).
...
@@ -2155,19 +2155,19 @@ staging:
...
@@ -2155,19 +2155,19 @@ staging:
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/23464) in GitLab 12.3.
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/23464) in GitLab 12.3.
`interruptible` is used to indicate that a job should be canceled if made redundant by a newer run of the same job. Defaults to `false`.
`interruptible` is used to indicate that a job should be canceled if made redundant by a newer pipeline run. Defaults to `false`.
This value will only be used if the [automatic cancellation of redundant pipelines feature](../../user/project/pipelines/settings.md#auto-cancel-pending-pipelines)
This value will only be used if the [automatic cancellation of redundant pipelines feature](../../user/project/pipelines/settings.md#auto-cancel-pending-pipelines)
is enabled.
is enabled.
When enabled, a pipeline on the same branch will be canceled when:
When enabled, a pipeline on the same branch will be canceled when:
- It is made redundant by a newer pipeline run.
- It is made redundant by a newer pipeline run.
- Either all jobs are set as interruptible, or any uninterruptible jobs are not yet pending.
- Either all jobs are set as interruptible, or any uninterruptible jobs have not started.
Pending jobs are always considered interruptible.
Pending jobs are always considered interruptible.
TIP: **Tip:**
TIP: **Tip:**
Set jobs as uninterruptible that should behave atomically and should never be canceled once started.
Set jobs as interruptible that can be safely canceled once started (for instance, a build job).
Here is a simple example:
Here is a simple example:
...
@@ -2175,23 +2175,33 @@ Here is a simple example:
...
@@ -2175,23 +2175,33 @@ Here is a simple example:
stages:
stages:
-stage1
-stage1
-stage2
-stage2
-stage3
step-1:
step-1:
stage:stage1
stage:stage1
script:
script:
-echo "Can be canceled"
-echo "Can be canceled."
interruptible:true
step-2:
step-2:
stage:stage2
stage:stage2
script:
script:
-echo "Can not be canceled"
-echo "Can not be canceled."
interruptible:false
step-3:
stage:stage3
script:
-echo "Because step-2 can not be canceled, this step will never be canceled, even though set as interruptible."
interruptible:true
```
```
In the example above, a new pipeline run will cause an existing running pipeline to be:
In the example above, a new pipeline run will cause an existing running pipeline to be:
- Canceled, if only `step-1` is running or pending.
- Canceled, if only `step-1` is running or pending.
- Not canceled, once `step-2` becomes pending.
- Not canceled, once `step-2` starts running.
NOTE: **Note:**
Once an uninterruptible job is running, the pipeline will never be canceled, regardless of the final job's state.
@@ -64,7 +64,10 @@ GitLab.com uses the SAML NameID to identify users. The NameID element:
...
@@ -64,7 +64,10 @@ GitLab.com uses the SAML NameID to identify users. The NameID element:
- Is a required field in the SAML response.
- Is a required field in the SAML response.
- Must be unique to each user.
- Must be unique to each user.
- Must be a persistent value that will never change, such as a unique ID or username. Email could also be used as the NameID, but only if it can be guaranteed to never change.
- Must be a persistent value that will never change, such as a randomly generated unique user ID.
- Is case sensitive. The NameID must match exactly on subsequent login attempts, so should not rely on user input that could change between upper and lower case.
We strongly recommend against using Email as the NameID as it is hard to guarantee it will never change, for example when a person's name changes. Similarly usernames should be avoided if possible.