Truncate CI_MERGE_REQUEST_DESCRIPTION if it's too big
## What happened We hit into an issue that when the merge request description is very large, runners cannot properly run any jobs for the merge request pipelines: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137027#note_1664370098 The error from the runner is: ``` exec /usr/bin/dumb-init: argument list too long ERROR: Job failed: prepare environment: exit code 1. Check https://docs.gitlab.com/runner/shells/index.html#shell-profile-loading for more information ``` Which can be observed at https://gitlab.com/gitlab-org/gitlab/-/jobs/5605850699 The description was 675K in text. ## Expected result Set a limit to `CI_MERGE_REQUEST_DESCRIPTION` so it will never give this error and run the jobs with a truncated `CI_MERGE_REQUEST_DESCRIPTION` without the full text. ## Background We have the error documented: https://docs.gitlab.com/ee/ci/variables/#argument-list-too-long However having a super big `CI_MERGE_REQUEST_DESCRIPTION` causing this error is new. A similar problem can happen when the commit message is super large is also mentioned at: https://gitlab.com/gitlab-org/gitlab/-/issues/392406#note_1424768580 A similar limit should be applied to the CI variables which carry the commit message as well. See also https://gitlab.com/gitlab-org/gitlab/-/issues/431626 where `CI_COMMIT_MESSAGE` was used as an example. ### Proposal 1. Automatically limit `CI_MERGE_REQUEST_DESCRIPTION` to 1KiB; if the size is exceeded, automatically truncate the remaining text. 1. Introduce a boolean variable to indicate if the message was truncated.
issue