nickel icon indicating copy to clipboard operation
nickel copied to clipboard

More release binaries

Open SRv6d opened this issue 1 year ago • 6 comments

Installing nickel is still somewhat nontrivial(at least for the non Nix crowd), especially if you need to compile nickel as well as the language server. It would be great if the releases could include binaries for macOS as well as those for the language server.

SRv6d avatar Aug 29 '24 20:08 SRv6d

Pre-built vsix (VSCode extension) would also help.

vi avatar Sep 12 '24 20:09 vi

Pre-built vsix (VSCode extension) would also help.

The extension should be available on the store/market (I don't remember how it's called for VSCode). Is it not (it hasn't been updated in a while but the code hasn't changed much)?

Regarding the binaries, we need to have the proper infrastructure to do so (mostly macOS machines available, for example, with sufficient resources because building a statically linked executable from scratch does take some time). I think we now have beefy macOS build machines available, so we might try to set this up.

yannham avatar Sep 13 '24 08:09 yannham

The extension should be available on the store/market

Then maybe this phrase should be updated?

vi avatar Sep 13 '24 08:09 vi

Pre-built vsix (VSCode extension) would also help.

The extension should be available on the store/market (I don't remember how it's called for VSCode). Is it not (it hasn't been updated in a while but the code hasn't changed much)?

Regarding the binaries, we need to have the proper infrastructure to do so (mostly macOS machines available, for example, with sufficient resources because building a statically linked executable from scratch does take some time). I think we now have beefy macOS build machines available, so we might try to set this up.

GitHub workflows have macOS runners available. IIRC, building on my Mac took around 10 minutes and GitHub workflows seem to have a maximum execution time of 6 hours so that should be plenty.

SRv6d avatar Sep 13 '24 09:09 SRv6d

GitHub workflows have macOS runners available. IIRC, building on my Mac took around 10 minutes and GitHub workflows seem to have a maximum execution time of 6 hours so that should be plenty.

Oh, sorry, you might be right. I vaguely remembered an issue with building macOS artifacts, but this might not be related to compute power at all, just that we didn't manage to make Nix & cargo build a statically linked executable on Darwin (is that correct @vkleen ?).

yannham avatar Sep 13 '24 09:09 yannham

We can't build a fully statically built binary on darwin at all, that's just not a thing that OS X supports. But we should be able to build one that doesn't dynamically link against non-system dependencies, in principle. How to do it with our nix+cargo setup, I don't know.

vkleen avatar Sep 13 '24 10:09 vkleen

In #2155 I'm taking the (dynamically linked) binary from the nix build, and then successfully running it on a fresh macOS runner without nix installed. I guess this means we're already only linking against system dependencies, and we can just distribute that binary?

jneem avatar Feb 06 '25 13:02 jneem

we can just distribute that binary?

I would say yes, because 1. it seems this is the best we can do on Darwin 2. it seems to work given your experiment at least for a stock install, so it should work for a least some people?

yannham avatar Feb 06 '25 13:02 yannham

We now provide binaries for ARM64 (both Linux and MacOS) and AMD64 (Linux and Windows), for both Nickel and NLS.

yannham avatar Mar 26 '25 13:03 yannham