Skip to content

ci: Add LSP diagnostics checker#2069

Merged
manuq merged 1 commit intomainfrom
wjt/ci-check-lsp-diagnostics
Mar 19, 2026
Merged

ci: Add LSP diagnostics checker#2069
manuq merged 1 commit intomainfrom
wjt/ci-check-lsp-diagnostics

Conversation

@wjt
Copy link
Member

@wjt wjt commented Mar 19, 2026

The Godot editor acts as a Language Server Protocol server, and can
issue diagnostics about GDScript files.

Add a script that connects to this GDScript LSP server, requests
diagnostics for every .gd file in the project (except a hardcoded list
of exceptions), then outputs them. It can either launch (and terminate)
its own headless instance of Godot, or connect to an existing one.

When run in GitHub Actions, emit them in the format that causes
them to show up in the pull request diff view against the line that
triggered them, at a level corresponding to how bad Godot believes them
to be.

Run this script during the export job (where the godot binary is
available) but do not fail the export if it fails: we still want to be
able to test a change, even if a function is missing a return type.

Add types to Kenney spritesheet importer script. Don't check addons,
script templates (which are not necessarily well-formed GDScript files),
or scripts in StoryQuests.

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

The Godot editor acts as a Language Server Protocol server, and can
issue diagnostics about GDScript files.

Add a script that connects to this GDScript LSP server, requests
diagnostics for every `.gd` file in the project (except a hardcoded list
of exceptions), then outputs them. It can either launch (and terminate)
its own headless instance of Godot, or connect to an existing one.

When run in GitHub Actions, emit them in the [format][0] that causes
them to show up in the pull request diff view against the line that
triggered them, at a level corresponding to how bad Godot believes them
to be.

[0]: https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-commands#setting-a-notice-message

Run this script during the export job (where the godot binary is
available) but do not fail the export if it fails: we still want to be
able to test a change, even if a function is missing a return type.

Add types to Kenney spritesheet importer script. Don't check addons,
script templates (which are not necessarily well-formed GDScript files),
or scripts in StoryQuests.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@wjt wjt force-pushed the wjt/ci-check-lsp-diagnostics branch from db6877a to 0b95b74 Compare March 19, 2026 15:36
@wjt wjt changed the title Wjt/ci check lsp diagnostics [1/1] ci: Add LSP diagnostics checker Mar 19, 2026
@wjt wjt changed the title [1/1] ci: Add LSP diagnostics checker ci: Add LSP diagnostics checker Mar 19, 2026
@wjt wjt added the github_actions Pull requests that update GitHub Actions code label Mar 19, 2026
@wjt wjt marked this pull request as ready for review March 19, 2026 15:37
@wjt wjt requested a review from a team as a code owner March 19, 2026 15:37
@github-actions
Copy link

Play this branch at https://play.threadbare.game/branches/endlessm/wjt/ci-check-lsp-diagnostics/.

(This launches the game from the start, not directly at the change(s) in this pull request.)

@manuq manuq merged commit cdf5d42 into main Mar 19, 2026
6 checks passed
@manuq manuq deleted the wjt/ci-check-lsp-diagnostics branch March 19, 2026 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants