Skip to content

Revert default runner script timeout

Arran Walker requested to merge revert-b534d885 into main

What does this MR do?

This reverts merge request !4491 (merged)

In addition, it now links to documentation whenever a job/script timeout is exceeded so that users know how they can better control the individual parts of the job.

Why was this MR needed?

!4491 (merged) introduced both a bug fix and a breaking change.

Many customers expect after_script to execute on timeouts, but by enforcing this by default, jobs end earlier, which is a breaking change.

What's the best way to test this MR?

# check includes: "step_script could not run to completion"
# check failure reason is: job_execution_timeout
timeout/job_timeout_during_script:
    script:
        - sleep 3600
    timeout: 30 seconds

# check includes: "after_script could not run to completion"
# check excludes: "after_script failed, but job will continue unaffected"
# check failure reason is: job_execution_timeout
timeout/job_timeout_during_after_script_and_job_is_unsuccessful:
    script:
        - echo hi
    after_script:
        - sleep 3600
    timeout: 30 seconds

# check includes: "step_script could not run to completion"
# check failure reason is: job_execution_timeout
timeout/script_timeout:
    variables:
        RUNNER_SCRIPT_TIMEOUT: 10s
    script:
        - sleep 20

# check includes: "after_script could not run to completion"
# check includes: "after_script failed, but job will continue unaffected"
timeout/after_script_timeout_but_job_is_successful:
    variables:
        RUNNER_AFTER_SCRIPT_TIMEOUT: 10s
    script:
        - echo hi
    after_script:
        - sleep 3600

What are the relevant issue numbers?

Closes #37363 (closed)

Edited by Arran Walker

Merge request reports