Improve CI linter to provide warnings for potential collision of paramaters
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=26191) </details> <!--IssueSummary end--> ### 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. **example usecase:** When configuring jobs in the gitlab.ci.yml file, some combinations of paramaters can give unexpected results, which can be hard to troubleshoot. For example: ``` 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. ### Target audience Primaryly DevOps engineers, or, anyone working with CI. <!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION --> *This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.* <!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
issue