Improve CI linter to provide warnings for potential collision of paramaters
Problem to solve
In general, more warning/error handling in the CI linter will make it easier for developers to get started with GitLab CI and also make identifying issues in complex/long CI files much easier.
When configuring jobs in the gitlab.ci.yml file, some combinations of paramaters can give unexpected results, which can be hard to troubleshoot.
Job:A script: - echo 'foo' Job:B dependencies: - Job:A when: always
In this case, Job:B is set to run always, but also has a dependency on Job:A. However, Job:A does not define an artifact, and therefore doesnt run, depsite using the
always param. This makes it hard to troubleshoot because it
An additional use case where warnings would be helpful
Variables are passed to runners securely, but once there - they could be accidentally exposed in the logs.
Detect if the yml file has any jobs that may expose a variable in runner logs - such as
echo $myvar in the
script: section. Users are not always aware of this risk, so providing a warning would assist in keeping customers code more secure.
Primaryly DevOps engineers, or, anyone working with CI.