-
Notifications
You must be signed in to change notification settings - Fork 140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: package for luarocks #356
base: main
Are you sure you want to change the base?
Conversation
8ffbcc1
to
8246a17
Compare
4134c23
to
c3f041a
Compare
Tysm! Would it also be possible to ship prebuilt binaries through luarocks via the I'll take a look at the failing nix macos build soon and I think I'll pass on the |
We could add pre-packaged builds that include the binaries to the neorocks rocks-binaries server, which checks for updates twice per day and builds for x86_64-linux, x86_64-darwin, aarch64-darwin and x86_64-windows. I'd suggest waiting with merging this until I have a draft for rocks-binaries workflows set up and until I have a luarocks-tag-release PR stacked on this one (I'll do it later today or tomorrow). Otherwise lazy.nvim users might complain.
No, it tries to use whatever cargo executable it finds on the
Looks like the busted tests are failing for some reason, but curiously, without any output. 🤔 |
82eb558
to
e5320c8
Compare
I've added some notes to the readme |
e5320c8
to
d66b41c
Compare
Just figured out that it's the call to |
d66b41c
to
a1772af
Compare
I just realised I can't stack PRs from a fork 😅 Some notes on that:
More details in this guide |
For releases, would it be possible to manually trigger these builds, perhaps by webhook, or build it ourselves and push to the rocks-binaries server? I'm looking to avoid making rust nightly a requirement for the stable releases. Thanks again for all your effort here! |
Perhaps it would make sense for |
I am looking into adding a blink.cmp to the existing rocks-binaries workflows.
Here's the current workflow file for Linux, for example: https://github.com/nvim-neorocks/rocks-binaries/blob/main/.github/workflows/build-linux-x86_64.yml |
I managed to set up a darwin nix-community builder.
|
Potentially related? It succeeds with |
Sounds good but just to clarify
How can we ensure that there is always a binary available for the latest release? It sounds like for up to 12 hours after a release goes out, there won't be any prebuilt binaries available. I'm also curious about the targets, since we support quite a few at this point: https://github.com/Saghen/blink.cmp/releases/tag/v0.6.1 ( |
To be able to trigger workflows between different GitHub repos, you would need access to the repo whose workflow you want to trigger.
The current rocks-binaries setup only builds for the targets supported by GitHub actions runners. |
Gotcha, in that case, perhaps we leave the rust build and binary part out and only use luarocks for packaging the lua code. Nix handles the rust toolchain setup and provides a reproducible environment, so I'd prefer pointing users that build from source there. Non-nix users can either use the rock or clone the repo directly and the binary will be downloaded on first run, or setup rust nightly themselves as per usual. |
Hmm, from a nixpkgs maintenance perspective, it would be nice to have the test suite run in the |
I'll take another look closer to 1.0 but I think we'll end up packaging only the lua/rust code, without a build step |
I agree that we should avoid integrating the build step into Rockspec. This Currently, Additionally, While the default implementation of Another way is not including the My personal opnion is that, unless |
@milanglacier That's a problem that would be easy to solve: If a |
Closes #217
(based on this guide).
We could also potentially change this to a workflow that doesn't use nix (see the
Makefile
andtest.sh
).This PR falls back the old behaviour of downloading pre-built binaries if the rust module is not found, so that it can still be used without luarocks.
TODO: