Pipeline Editor incorrectly reports valid syntax for invalid YAML when branch head commit includes [skip ci]

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Summary

When the latest commit on a branch includes [skip ci], the Pipeline Editor reports “Pipeline syntax is correct” even if the content is invalid YAML. This does not happen on branches without [skip ci].

Steps to reproduce

  1. Create a new branch (e.g. branch2).
  2. Push a commit with [skip ci] in the message:
echo "hello" > README.md  
git add README.md  
git commit -m "test commit [skip ci]"  
git push -u origin branch2  
  1. In the UI, go to CI/CD → Pipeline Editor.
  2. Switch the ref selector to branch2 and click Configure pipeline.
  3. Clear the sample pipeline template.
  4. Paste invalid YAML, for example:
this is not a valid pipeline

Ticket Id

655619

Current behaviour

The Pipeline Editor heading shows "Pipeline syntax is correct" even though the input is invalid. On the Validate tab, clicking validate shows "simulate completed successfully."

Expected behaviour

The editor should report a syntax error for invalid YAML, the same way the CI Lint tool does. The Validate tab should also display appropriate error messages rather than simulating successfully.

Versions

GitLab Self-managed 18.3.1

Platforms

Relevant logs

NA

Customer Impact

Customers editing on branches with [skip ci] cannot rely on the Pipeline Editor to catch YAML errors.

This can mislead users into thinking their configuration is valid when it is not.

The only reliable workaround is to use the CI Lint tool or to make a new commit without [skip ci], which interrupts their normal workflow.


/cc @manuelgrabowski

Edited by 🤖 GitLab Bot 🤖