Realtime feedback for editing .gitlab-ci.yml
Problem to Solve
When working on the
.gitlab-ci.yml file in the Web IDE there is no feedback on whether or not the syntax of the file is correct or that the configuration written is valid.
.gitlab-ci.yml file has nearly 30 configuration parameters. Some of these parameters only accept a specific input, and some of them can be more varied. Finally the
.gitlab-ci.yml file needs to be validated to make sure it's following all the correct rules.
We should add the
monaco-yaml extension to allow our Web IDE to provide feedback for yaml files based on defined schemas.
For an initial MVC we should provide the
.gitlab-ci.yml schema from Schemastore.
Additional Implementation Note
This should be released with a feature flag - we may consider launching with the feature flag off in self-managed for a release.
...self-managed customers who don't want to/can't connect to an external resource? This is the MVC. The likely best path forward here is to have these schema files bundled in GitLab and reference them without going outside the application.
...this other file I'd like to have this type of feedback/validation on? For some major GitLab files (like .gitlab-ci.yml and CODEOWNERS) those should be bundled within GitLab. For project specific files, we should eventually create a system to read either schema files or paths to schema files out of the repository.
Availability and Testing
Integration tests and possibly white-box feature tests required. Please also make sure existing automation tests for Web IDE pass before merging the change.