Skip to content

Conversation

@parkuman
Copy link
Contributor

@parkuman parkuman commented Oct 16, 2025

Jira: https://circleci.atlassian.net/browse/PIPE-5316

Description

As described in #372 , this PR takes all the great markdown hover hints from publicschema.json and sticks them in schema.json. It removes any references to publicschema.json from this repo and deletes the file entirely.

This way:

  1. We only need to update one schema file
  2. If users only have the Red Hat YAML Language server (23million+ devs) installed (and not our language server extension), they'll still get great hover tips since that language server fetches the latest schema.json from this repo.

Implementation details

I attempted to migrate over every description from publicschema.json into schema.json. The structures between the two differed, and can definitely still use some work but I believe I copied over all of them. Some descriptions here and there. I also improved and fixed some broken documentation links as well.

VS Code extension

Opened a PR in the VS Code extension repo that will remove any references to publicschema to reflect the changes here!

How to validate

Two ways this needs to be validated:

  • Red Hat YAML Language Server: In VS Code, disable the CircleCI extension, make sure you have the Red Hat YAML Language Server installed and enabled. Open up any CircleCI config.yml you have, and put this at the top of the file. This will tell the Red Hat YAML Language Server to fetch the schema.json from this branch instead of the one from the main branch. Ensure that when you hover over jobs:, or executor: you see nice markdown documentation hover tips with links.

    # yaml-language-server: $schema=https://raw.githubusercontent.com/CircleCI-Public/circleci-yaml-language-server/refs/heads/consolidate-schemas/schema.json
    Screen.Recording.2025-10-16.at.3.13.51.PM.mov
  • Just the CircleCI YAML Language Server: follow the instructions in HACKING.md to run the language server in VS Code with our mini debug extension. Try hovering over stuff like in the above test and you should still see hover hints.

Doing both of the above proves that this change will display hover hints with (1) just the Red Hat YAML language server installed, or (2) with just the CircleCI language server extension installed.

Other changes

@parkuman

This comment was marked as resolved.

@parkuman parkuman requested a review from a team October 16, 2025 20:08
@parkuman

This comment was marked as resolved.

@parkuman parkuman force-pushed the consolidate-schemas branch from f24848b to e9bc1df Compare October 17, 2025 18:45
@parkuman

This comment was marked as resolved.

@stig
Copy link

stig commented Oct 20, 2025

I ❤️ the diffstat :-)

@parkuman parkuman merged commit 9dc80f2 into main Oct 20, 2025
9 checks passed
@parkuman parkuman deleted the consolidate-schemas branch October 20, 2025 18:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants