ci: build and publish glua_doc_cli binaries#39
Conversation
glua_doc_cli already exists as a crate but is not shipped in releases - only glua_ls and glua_check are. Add it to the dev and release builds, the release assets (glua_doc_cli-linux-x64.tar.gz, glua_doc_cli-win32-x64.zip), and the crates.io publish list, mirroring glua_check, so consumers can provision the GLua-aware documentation CLI alongside glua_ls and glua_check.
There was a problem hiding this comment.
Pull request overview
This PR updates the GitHub Actions release pipeline to ship the existing glua_doc_cli crate alongside glua_ls and glua_check, so consumers can download prebuilt binaries from GitHub releases and (for stable workflow-dispatch releases) publish the crate to crates.io.
Changes:
- Builds
glua_doc_cliin CI for Linux x64 and Windows x64 (dev builds and tagged release builds). - Copies and uploads
glua_doc_cliartifacts, then packages them intoglua_doc_cli-linux-x64.tar.gzandglua_doc_cli-win32-x64.zipfor GitHub releases. - Adds
crates/glua_doc_cli/Cargo.tomlto the stablepublish-crateslist to publish it to crates.io (mirroring existing shipped crates).
|
It currently isn't published since I didn't really expect it to work, as it's mostly leftover from when this was project was originally forked from EmmyLua. I haven't really touched it at all and there's been many changes to the core language server itself, so I'm surprised it works. This project, and the annotations generated from https://github.com/Pollux12/annotations-gmod-glua-ls (this is based on the original luttje annotations, but with various GLuaLS specific changes), are currently all intended to be used by the VSCode extension (https://github.com/Pollux12/vscode-gmod-glua-ls) which is why things like annotations aren't automatically downloaded or included in the language server, since the VSCode extension handles downloading and updating them instead. It'll probably work fine outside of the VSCode extension, just that it isn't a priority right now. I would recommend using my annotations though if you are using this language server, especially since pre-release is testing a new annotation driven system, and using the original luals annotations with this will cause many false positives. I do still have plans to improve the documentation generator, which is why I'm a bit hesitant to add it as a release right now, since I don't want anyone to expect it to work well (I haven't touched it so it's probably the same as EmmyLua, might even be a bit more broken due to annotation changes though), especially as I might make breaking changes to it later on when I do my own system. I'll look into |
|
Fair enough! If it helps, in my testing it seems to work just fine - I switched from the original EmmyLua CLI to this one and it fixed a bunch of problems e.g. auto inferring ENT / SWEP so I'm happy with it personally. I'll have to check out the pre-release versions, thanks |
|
Update: I am now using the latest pre-release language server and your latest pre-release annotations and it's working a lot better! Still a couple of minor analyzer issues I'll get to raising/attempting to fix - just raised #42 as a first one, but overall much better removed a ton of hacks and workarounds I had to do and didn't really introduce any new issues. The |
glua_doc_cli already exists as a crate but is not shipped in releases - only glua_ls and glua_check are. Add it to the dev and release builds, the release assets (glua_doc_cli-linux-x64.tar.gz, glua_doc_cli-win32-x64.zip), and the crates.io publish list, mirroring glua_check, so consumers can provision the GLua-aware documentation CLI alongside glua_ls and glua_check
Full disclosure - this change was written by Claude but I've tested it and we're doing something similar in my repo as a workaround for now until the official releases contain it.
Also - huge thank you for making this by the way, I've been typing up my addons and auto generating wiki documentation and all sorts the past few weeks using your tools and it has been wonderful. I've run into a couple of issues but it's mostly related to the gmod stubs from https://github.com/luttje/glua-api-snippets - I did see you're making something similar in this repo might have to check that out next!