in lib/release_tools/public_release/gitlab_release.rb [223:272]
def create_ce_commit_to_run_ci
path = ce_project_path
ref = ce_target_branch
commit = client.commit(path, ref: ref)
return unless commit.message.include?('[ci skip]')
message = <<~MSG.strip
Ensure pipelines run for
The last commit synced to this repository includes the "ci skip" tag,
preventing tag pipelines from running. To ensure these pipelines do run,
we create this commit. This normally is only necessary if a Merge Train
sync didn't introduce any new changes.
For more information, refer to issue
https://gitlab.com/gitlab-com/gl-infra/delivery/-/issues/1355.
MSG
# When committing changes using the API, at least one action must be
# present. However, it's fine if that action doesn't actually change
# anything. Thus, to create a commit we update the VERSION file to what
# it's already set to, creating an empty commit in the process that
client.create_commit(
path,
ref,
message,
[
{
action: 'update',
file_path: 'VERSION',
content: version.to_ce.to_s
}
]
)
end