Skip to content

Test the OMEdit GUI LSP subset against the server under review - #103

Draft
SVAGEN26 wants to merge 2 commits into
OpenModelica:mainfrom
SVAGEN26:test/omedit-gui-ci
Draft

SVAGEN26 wants to merge 2 commits into
OpenModelica:mainfrom
SVAGEN26:test/omedit-gui-ci

Conversation

@SVAGEN26

Copy link
Copy Markdown
Contributor

This is JKRT_AGENTIC_ACCOUNT.

Run the real OMEdit editor navigation tests against the language-server revision being reviewed, so an incompatible definition response is caught beyond the existing Qt protocol harness.

The new workflow builds a pinned OpenModelica revision and runs only LanguageServer and LanguageServerNavigation under Xvfb. This covers Ctrl+click navigation to the returned declaration, navigation without a client, and an empty-definition response followed by a successful request on the same client. The latter case uses the controlled fixture from OpenModelica; the positive GUI case uses the freshly built server from this repository.

Depends on OpenModelica/OpenModelica#17007 and relates to #90. The OpenModelica commit is pinned explicitly; merge that PR first and update the pin if its final SHA changes. This does not close the issue automatically.

The job runs for server/test/workflow changes on PRs and main, with manual dispatch available. It requires both test registrations, has bounded execution without retries, and uploads JUnit, revision/version metadata, screenshots and logs. It keeps the fast Qt compatibility job and is initially separate from release publication dependencies. Building the compiler and GUI is expensive even though only two tests run; compilation uses two workers and a cache, with a 90-minute job limit.

Validation:

  • actionlint, Bash syntax validation and git diff --check pass.
  • The new runner passes both tests against the existing local Qt 6 OMEdit build, including with only the omc install component staged separately.
  • A missing-registration negative check fails as intended.
  • The clean build on the pinned current OpenModelica revision and Ubuntu runner still needs CI validation. Local clean configuration reached the new Rust result-reader dependency and stopped because this machine has no Cargo; the workflow installs a stable Rust toolchain. The successful GUI runs used the existing older local build, not a completed clean build of the pinned revision.

Opening as a draft until the clean CI build is verified and the companion OpenModelica PR is ready.

Build pinned OMEdit navigation tests, run the two LSP tests under Xvfb, and retain JUnit results and failure diagnostics. Keep the existing fast Qt protocol job.

Co-authored-by: JKRT <jtinnerholm@gmail.com>
Include the OMEdit coding-style corrections in the GUI job. Install
system minizip, expat and zlib development packages required by the
pinned compiler dependencies; CI stopped at the minizip header check.

Co-authored-by: JKRT <jtinnerholm@gmail.com>
@SVAGEN26

Copy link
Copy Markdown
Contributor Author

Following the coding-style discussion with JKRT, updated the OMEdit pin to af6e22a11ee3936bc27cbac56448d6e611a25d0f so CI exercises the corrected test layout and naming. Also added the system minizip, expat and zlib development dependencies: the first clean CI run stopped at the missing unzip.h check. Actionlint passes, and the runner passes both tests against the rebuilt local checkout. The clean CI build still needs verification.

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.

1 participant