Before this commit only deriving of tuple enums where tested.
This adds a few tests to cover the other types of enums.
Change-Id: I62f311e4db98cab84bd4ac164d50051e9aab0d4d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12725
Autosubmit: Brian Olsen <me@griff.name>
Reviewed-by: Vladimir Kryachko <v.kryachko@gmail.com>
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
I found some more operations that are obsolete and a few missing
fields. I also did some small changes to make handshake description
more consistent.
Change-Id: I9f853a37e9d50621491f31ea71879d6a600046e2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12724
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
Previously such errors showed up as:
error[E006]: expected value of type 'sha256', but found a 'not a sha256'
Now they show up as:
error[E041]: Invalid hash: invalid encoded digest length '31' for algo
sha256
This is consistent with the errors of `builtins.fetchurl`.
Change-Id: Id11b26fc7951778640cc4e41b3bf23203eaf07df
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12719
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
The nixhash errors were wrapped in a generic TvixError. Now it has its
own TvixError with unique error code. The nixhash error is passed along
as a string.
The errors looked like:
error[E997]: invalid encoded digest length '51' for algo sha256
Now they look like:
error[E041]: Invalid hash: invalid encoded digest length '51' for algo
sha256
Change-Id: I5c420815538ba4c6567c95f5d44d60c4d48f43fd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12718
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Existing handshake behavior assumed that the server version is always
at least as new as the client. Meaning that the client's version was
always picked the handshake details as well as for further communication
This change removes that assumption and correctly uses
min(server_version, client_version).
Change-Id: Ia5dad4613dd5f69a0aeb6c9d86982f1f36fe1a4c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12722
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
The goal is to create a drop-in replacement nix-daemon that nix-cpp can
use as a `daemon` store.
Change-Id: Ie092047dcc6a24a3b8d8d1b808f3e6fd2c493bf2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12711
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
This does the same as cl/12585 did for tvix-cli.
Change-Id: Ia2d693f5ad10feb81777c951bcd4489a3a83ad7c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12716
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
This does the same as cl/12585 did for tvix-cli.
Change-Id: I35215947f3616acd65654c2bbdb19d0c360b568b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12714
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
This version has my trackball fixes, and interactive move, both of which are not
in a stable release yet.
Change-Id: Id7356e328772c972db7fb496ac80c318e8c5b330
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12707
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
The copy&paste from the documentation didn't work ...
Change-Id: Ic894356354d6ac2b66562da5aa89590cd94ae347
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12705
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
oci_spec::runtime::Posix* stuff is feature-flagged out on MacOS.
While it might be desirable to emit Linux OCI runtime specs from MacOS to
schedule there, and it being feature-flagged to Linux might be a bug in the
upstream crate, we only have an implementation invoking runc, which certainly
don't work.
Feature-flag this out to make tvix-build and tvix-cli to build on MacOS. This
can be revisited once we actually start thinking about builders on MacOS.
Change-Id: I82002f6d55eddd9c305f1b3a3f3f2b252f617ed0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12694
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
fuse_backend_rs::api::filesystem::Layer is not exposed for non-Linux, and
feature-flagged on virtiofs, so only implement the trait for these cases.
Change-Id: Id8455dc5be502f8375836ba04288d50c59d69d89
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12693
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
runc is not available on MacOS, we only want to include it in the shell if on
Linux.
Point TVIX_BUILD_SANDBOX_SHELL to /bin/sh if not on Linux.
While we cannot use the OCI/runc executor on MacOS, other implementations might
make use of this env var, so it's good to keep setting it.
Also update the other occurence of it, in tvix/utils.nix.
Change-Id: If7b47e1bb7c41bbde84c93016713754a252c4355
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12691
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Tested-by: BuildkiteCI
This builds the keyboard firmware using zmk-nix.
The miryoku_zmk config is pulled in from manna-harbour/miryoku_zmk, but
slightly patched to add support for RALT and quick-tap.
Change-Id: I91efbbd789526cce7f086f367c7bccb7857b06e6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12695
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: flokli <flokli@flokli.de>
A while ago I decided to experiment with corfu and orderless instead of
company/prescient. This was prompted by issues which I had in EXWM, where some
sort of UI race with company elements could lock up a whole frame.
Now that I'm not on EXWM anymore this doesn't really matter, so I can bring back
company and set up prescient again correctly, fixing a whole bunch of issues
along the way:
* Completion issues where not all matching candidates where shown based on
cursor position (I honestly have no idea what caused this and what was going
on there, never figured it out, but enabling prescient properly fixes it).
* Code completion works again. Corfu, as I understand it, is technically
better/cleaner/whatever than company - but it doesn't work anywhere,
especially not in telega.el where I need completion more than anywhere else.
With this commit my Emacs behaves a lot better again.
Change-Id: I8f082de8211dd3be3bb7a0663d43d414cc320e49
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12690
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
This is only using nix-compat through tvix-glue.
Change-Id: Ib6391987954a28cc05a2c27c1c21585185d82d1a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12681
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Tested-by: BuildkiteCI
This is only using tvix-castore through tvix-store.
Change-Id: I342ee1e18f8c3946b712cfb446520b732091d58f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12680
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
... because it's on the left side!
Change-Id: I1d67d797bd6137705e69b96349faa32a9c3e94ff
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12678
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
This test will otherwise obviously fail on aarch64-linux, or anything
not x86_64-linux, as it'll produce a different Derivation.
Change-Id: Iedddcb6aeff05e49fc2e6da27f08111cdc9affec
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12677
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: edef <edef@edef.eu>
Tested-by: BuildkiteCI
Deduping early saves a fair bit of memory, but the extra hashing is
costly.
We switch to FxHash, since we don't need a DoS-proof hash, but we do
need it to be *fast*.
Change-Id: Ic6b7010874c417862baa9b882593208c8dd1d5e6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12648
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Parsing of store-paths.xz is now handled by //users/edef/fetchroots.
Change-Id: I78be5aada0c0a321ed79d80c9b615e5f997ac3e0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12670
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
This vastly reduces the memory requirements, so we can run in ~40G RAM.
Change-Id: I4952a780df294bd852a8b4682ba2fd59b9bae675
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12667
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
We switch to working with the underlying Arc<Bytes<u8>> type, since
Buffer<u8> is already essentially an OwningRef-esque subslice.
Because we're now working with an exposed Arc directly, we don't need
to have our own `unsafe impl StableAddress` any more.
Change-Id: I9ce2edc6899177145e15b72aa5380f708a62173c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12668
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
We only care about ordering on the same variable, and we rely on the
release barrier provided by rayon's thread joining.
The comparison failing is always an error path, and we're indifferent
about which thread it fails on.
Change-Id: I592a7eaae5b6935cf424c6576a49786f39909fb6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12666
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
It seems we need more memory these days, and llama frequently ran OOM.
Decrease the number of concurrent evaluations.
Change-Id: I2648ebdedf09b80c9a231c4614004f953a646bc0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12662
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: edef <edef@edef.eu>
When evaluating nixpkgs from the <nixpkgs> channel, store_path_to_node
returns an error, falling back to regular filesystem access.
This currently produces a warning in the CLI, which is misleading, so
degrade to trace level.
Change-Id: I4cb2297cc85a2c0e904a37343748f9051aa6d5c7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12665
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Construct the owned signature in a separate scope, so all borrows to the
original PathInfo are already dropped again, and we can modify the
PathInfo without having to clone it.
Change-Id: I03e7390540c2cfe7a2c61850bdbe8a33d213a5d9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12663
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
This pushes generating spans with pb_show up to the caller.
They usually have more context on how to present things, if at all.
Change-Id: Icfcaa64a8a57dce50c0261f2d06e7c051e3946c2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12657
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
We have two places where we parse protos and want their names to be
empty:
- Receiving a root node in a nar-bridge NAR request
- Processing the CalculateNAR gRPC call
We don't have any place where we want to keep a name as bytes::Bytes
around, yet we used the `into_name_bytes_and_node` method.
It was also a bit wrongly named - it wasn't very clear the name was
not validated, and that the function may fail.
This moves the "splitting off the name as bytes::Bytes" part into a
private helper, only leaving the `try_into_name_and_node` and
`try_into_anonymous_node` methods around.
Change-Id: I2c7fd9871d49ec67450d7efa6a30d96197fb319c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12664
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: Marijan Petričević <marijan.petricevic94@gmail.com>
Reviewed-by: raitobezarius <tvl@lahfa.xyz>