Pipeline intermittent lint failures
Workaround
When using needs and only:/except:/rules make sure the needs job has the same rule as the predecessor job
Summary
Intermittent pipeline lint failures. Many times, the next commit will cause the pipeline to run. Testing the yaml with the lint tool does now show any issues.
What is the current bug behavior?
Here's a minimal config to reproduce the error:
image: busybox
build_job:
stage: build
script:
- ls -lh
only:
refs:
- master
changes:
- test_file.txt
test_job:
stage: test
script:
- ls -lh
needs:
- build_job
only:
refs:
- master
-
build_jobis created only when thetest_file.txtfile changes onmaster -
test_jobis created on all the changes that are pushed onmaster
The only: rules are applied during build time and they prevent the build_job from being created and the need: with throw an error:
So pushing any changes on master that don't change test_file.txt would result in an yaml invalid error.
What is the expected correct behavior?
The error message should be more helpful in debugging this error. We should update the error message to say that the required jobs might have been removed by rules/only/except.
Running Gitlab 11.0.2 with runner 0.11.0.
Customer ticket -> https://gitlab.zendesk.com/agent/tickets/100695 (internal only)
(If you can, link to the line of code that might be responsible for the problem)
Can we get some guidance on the best way to troubleshoot?
