Skip to content

GitLab Next

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • GitLab GitLab
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 43,142
    • Issues 43,142
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1,355
    • Merge requests 1,355
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

GitLab 15.0 has launched! Please visit Breaking changes in 15.0 and 15.0 Removals to see which breaking changes may impact your workflow.

  • GitLab.org
  • GitLabGitLab
  • Issues
  • #218472
Closed
Open
Created May 19, 2020 by Kai Armstrong@phikaiDeveloper

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.

Additional Details

The .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.

Proposal

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.

What about...

...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.

Resources

  • monaco-yaml extension
  • demo project and detail comment: &2707 (comment 332473849)

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.

Edited Jun 16, 2020 by Anastasia McDonald
Assignee
Assign to
Time tracking