about summary refs log tree commit diff
path: root/tvix
AgeCommit message (Collapse)AuthorFilesLines
2025-01-02 r/9058 feat(tvix/nix-compat/narinfo): don't allocate error field namesedef1-37/+50
We know these names statically, so we can just use &'static str. Change-Id: I81cb7ecc4d7553f57baca74464c120a143586fe6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12941 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2025-01-01 r/9057 chore(3p/sources): bump channels & overlays (2024-12-31)Vincent Ambo37-562/+488
Last one of the year! С наступающим) Fixes: * users/wpcarro: remove use-package from emacs packages (it has been built-in for a while now) * users/sterni: the same thing * users/aspen: remove `coz`, forwardport `gdmap` from stable * users/flokli: dropped corneish_zen firmware from CI This firmware depends on a non-reproducible FOD which, when updated, causes build failures. We have worked around this repeatedly, but it needs to be fixed properly. * tvix: regenerate Go protobufs * tvix: address new clippy lints * tvix/{castore,store,build}-go: update grpc/protobuf libraries * tvix/eval: formatting fixes * 3p/overlays/tvl: work around GCC 14 -Werrors Change-Id: Ice5948ca7780192fb7d2abc6a48971fb875f03c9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12933 Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: aspen <root@gws.fyi> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2025-01-01 r/9056 fix(nix-compat): support Deriver: unknown-deriver NARInfosFlorian Klink1-1/+29
According to https://github.com/NixOS/nix/commit/c60715e937e3773bbb8a114fc9b9c6577f8c5cb5, these were produced by a legacy tool and should be considered as if Deriver was not passed at all. See: https://github.com/kalbasit/ncps/issues/171 Reported-In: https://github.com/nix-community/go-nix/pull/128 Change-Id: If285a11c3275cb3c857c68782bd13473c46f04bf Reviewed-on: https://cl.tvl.fyi/c/depot/+/12940 Reviewed-by: edef <edef@edef.eu> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2025-01-01 r/9054 chore(tvix): update crate dependenciesFlorian Klink6-1122/+2326
Change-Id: Ia48b1774e52d8197e93e9a6444857470a7895926 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12932 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Tested-by: BuildkiteCI
2024-12-31 r/9051 fix(tvix/eval): don't mark locals as used in resolve_localsterni2-17/+23
resolve_local isn't exclusively used to compile variable access, so we shouldn't automatically mark a local as used when it's called. Specifically, the optimiser would call `is_user_defined`, causing locals to be marked as used even when they weren't, erroneously silencing the unused local variable warning. For resolve_upvalue I've opted not to do the same, instead renaming the function to make its behavior clearer. The reason for this is that resolve_upvalue is only used in the code for the purpose of compiling variable access and mark_used for upvalues would be needlessly expensive, as it requires recursing through enclosing contexts. Supersedes / alternative to cl/12708. Change-Id: Ib4a4a9dfcecf710ab2766b03d0a0cc09245c2d0a Reviewed-on: https://cl.tvl.fyi/c/depot/+/12869 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-12-30 r/9046 chore(tvix): use bigtable_rs from crates.ioFlorian Klink7-154/+221
We don't need to use a git checkout here anymore. Change-Id: I99641a4908f39799c8be6a1610ae458ca6fdc5ee Reviewed-on: https://cl.tvl.fyi/c/depot/+/12931 Tested-by: BuildkiteCI Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Autosubmit: flokli <flokli@flokli.de>
2024-12-30 r/9044 chore(tvix): simplify Cargo.tomlFlorian Klink13-212/+212
Use dotted keys where we'd else have maps with a single key. Change-Id: I9389e0fedddad1cf65f870a3a68415a0defaa259 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12929 Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2024-12-29 r/9043 fix(tvix/shell): s/buf-language-server/buf/Florian Klink1-1/+1
'buf-language-server' was removed as its development has moved to the 'buf' package. Change-Id: If1ef36ed54926644debc914817bf4afea8bf2264 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12928 Reviewed-by: lukegb <lukegb@tvl.fyi> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2024-12-29 r/9041 chore(3p/sources): Bump channels & overlays (2024-12-02)sterni8-8/+8
* //tools/nixery/popcount: replace removed buildGoPackage with buildGoModule. * //users/aspen/system/system/modules: pkgs.nerdfonts has been removed. Instead we have a pkgs.nerd-fonts attribute set that contains all fonts as individual derivations. * //users/tazjin/presentations: The ms package was removed from texlive for some reason in the latest release. Replace it with the packages it bundles (according to CTAN). * //tvix/verify-lang-tests: Test on latest Nix release 2.25.2. * //tvix/*-go: regenerate code from protobufs. Change-Id: I19fcb3a0267f929f6e7388aa69ad99ac53b62236 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12859 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: aspen <root@gws.fyi> Tested-by: BuildkiteCI
2024-12-27 r/9034 fix(tvix/nar-bridge): set FileSize to NarSizeFlorian Klink1-0/+4
Nix and Lix both report this quite wrong when showing progress, they assume 0.00 MiB of download size: ``` these 3 derivations will be built: /nix/store/m6dkr67hk87lpcz9wv8f2mp2zrgsyfp9-nix-2.24.11.drv /nix/store/zcfi6vs0z18309asw8fpa9v3665av44v-niv-0.2.22.drv /nix/store/g4kvzrs1kk9i13vaa8q1r0y4hgsqsnlp-dev-env.drv these 112 paths will be fetched (0.00 MiB download, 2649.76 MiB unpacked): /nix/store/3qzlg8h5qc1slypy99aafdcgkzj6974h-OneTuple-0.4.2 /nix/store/pp4540rig52fnj66kz1kiaj1000ja9v0-QuickCheck-2.14.3 /nix/store/416aqss6p59w6v92127hkz04v0bclx21-StateVar-1.2.2 /nix/store/b5f93spm2cl9g6x73dnx7ns5irs739fz-aeson-2.1.2.1 /nix/store/nqnx6k6y103rargdz2gai2rmi389zn6n-aeson-pretty-0.8.10 /nix/store/11wc4s6a6qi98lxikacw746slhmj5dl7-ansi-terminal-1.0.2 /nix/store/yy7j66av9lwh3lvbxp1zv7572wb4l7dj-ansi-terminal-types-0.11.5 /nix/store/cn6m459cbacdwkvjllgy5hkzf045yc1g-appar-0.1.8 […] ``` For now, set FileSize to NarSize - it's not more wrong than it was before, Nix already supports content encoding for compression (via curl). Reported-On: https://git.lix.systems/lix-project/lix/issues/606 Change-Id: Ia53506ecf6678ad298f759c95a69feb441cbc26d Reviewed-on: https://cl.tvl.fyi/c/depot/+/12919 Reviewed-by: raitobezarius <tvl@lahfa.xyz> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2024-12-27 r/9033 test(tvix/nar-bridge): add NARInfo handler testsFlorian Klink2-0/+175
Change-Id: I245ab38c30bb27c941274b2621aecccb695dacd0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12918 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: raitobezarius <tvl@lahfa.xyz>
2024-12-27 r/9032 test(tvix/nar-bridge): start testing handlersFlorian Klink5-49/+870
We currently only had some integration tests (as part of tvix-boot) testing nar-bridge functionality as a smoketest, but with axum-test we can test individual handlers and peek at the store afterwards, which is much more granular. This adds tests for the nar-specific request handlers. Change-Id: I7f2345df89ac43b9b372ecc66f696e95e2fcad18 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12916 Tested-by: BuildkiteCI Reviewed-by: raitobezarius <tvl@lahfa.xyz> Autosubmit: flokli <flokli@flokli.de>
2024-12-27 r/9031 refactor(tvix/nar-bridge): move narinfo_str gen to helperFlorian Klink1-14/+18
Change-Id: I2d3b135f63f17adc540d63d3ecaef4fb555bca74 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12917 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: raitobezarius <tvl@lahfa.xyz>
2024-12-27 r/9030 refactor(tvix/store): expose fixtures, make NAR_CONTENTS constFlorian Klink12-187/+200
Allow reusing CASTORE_NODE_* and NAR_CONTENTS_* from other crates. Also, there's no need for NAR_CONTENTS_* to be Vecs of bytes, these can just be [u8; _]. Change-Id: I435c08a9d20f6a68266d0c9a70bfc7fdb618ce42 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12915 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: raitobezarius <tvl@lahfa.xyz>
2024-12-15 r/9006 feat(tvix/nix-daemon): instrument for TvixDaemonFlorian Klink1-1/+4
This makes it easier to see what's being communicated, by setting `RUST_LOG=nix_daemon=debug`. Change-Id: Ifcd89ff6c5c1727e97569e29d4f63993cc37ed8e Reviewed-on: https://cl.tvl.fyi/c/depot/+/12884 Tested-by: BuildkiteCI Reviewed-by: Vladimir Kryachko <v.kryachko@gmail.com> Autosubmit: flokli <flokli@flokli.de> Reviewed-by: flokli <flokli@flokli.de>
2024-12-10 r/8993 feat(tvix/boot/tests): Replace GNU parallel with rushIlan Joselevich1-3/+3
rush is like GNU parallel, but in Go, and most importantly, without the annoying citation. Change-Id: Id4737e6dee43037c1c2bc814738416410a603e07 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12887 Reviewed-by: flokli <flokli@flokli.de> Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com> Tested-by: BuildkiteCI
2024-12-09 r/8992 docs(tvix/boot): update docstringFlorian Klink1-3/+4
mkBootTest is not limited to only listing files, it can also be used (is used) to boot init. Change-Id: Iaa0d2b5bad3be856aa8a0172450efe166620ba41 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12882 Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de>
2024-12-09 r/8991 refactor(tvix/nix-daemon): use if let Some(_) = …Florian Klink1-8/+4
This makes it a bit less verbose. Change-Id: I41835f43628d7a10855b9d89816e8d20eb7546d2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12881 Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Reviewed-by: Domen Kožar <domen@cachix.org> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de>
2024-12-09 r/8990 docs(nix-compat/nix_daemon): fix typoFlorian Klink1-1/+1
Change-Id: I9bc9982faa0abc8212e15916a3435dd0cfd0e54d Reviewed-on: https://cl.tvl.fyi/c/depot/+/12880 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Domen Kožar <domen@cachix.org> Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
2024-12-09 r/8989 refactor(nix-compat/nix-daemon): s/result/results/Florian Klink1-3/+3
There's more than one result in there. Change-Id: I5d519db51fda050ed293bfb52215a643882e0116 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12879 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
2024-12-04 r/8982 chore(tvix): bump tower-otel-http-metrics, enable axum featureFlorian Klink6-19/+71
Move back to a proper release containing the opentelemetry bump. Also enable the `axum` feature, which will give us a per-route accounting. Change-Id: Icdf4dc73588ef45b6596b320c14d9f44946327b3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12865 Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2024-12-01 r/8970 chore(tvix/nix-compat): basic daemon handler testsVova Kryachko5-32/+361
This change adds tests for basic request/response handling as per nix daemon STDERR_* protocol. Change-Id: Ia6a1904e14955551b11f776b6ccb595fa8984513 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12852 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Autosubmit: Vladimir Kryachko <v.kryachko@gmail.com>
2024-11-29 r/8969 refactor(tvix/glue): make user-agent more granularFlorian Klink2-3/+4
Use the crate name in the user-agent, similar to tvix-[ca]store. Change-Id: I10527fb1f29006dbfd8630d8bb1f00d7905efdd3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12851 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Vladimir Kryachko <v.kryachko@gmail.com> Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2024-11-29 r/8968 feat(tvix/castore): set user-agent for object_store blob/directorysvcFlorian Klink3-9/+41
Change-Id: I9fcebffb19174cba2e9001398419d3041266400c Reviewed-on: https://cl.tvl.fyi/c/depot/+/12850 Reviewed-by: Vladimir Kryachko <v.kryachko@gmail.com> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: flokli <flokli@flokli.de>
2024-11-29 r/8967 feat(tvix/store): set user-agent for NixHTTPPathInfoServiceFlorian Klink2-3/+11
Change-Id: I8eb74c5a9457b88ab51bd88084591a4c7c5cdbcc Reviewed-on: https://cl.tvl.fyi/c/depot/+/12849 Reviewed-by: Domen Kožar <domen@cachix.org> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2024-11-28 r/8966 chore(tvix/glue): Fix fetchTarball for github urls.Vova Kryachko1-1/+6
GitHub does not allow downloads by clients without a User-Agent set. This changes sets the client User-Agent to "tvix". Change-Id: I829b37e63bcedb5ea785b55eff5b10175f5caaa6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12845 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2024-11-24 r/8964 feat(tvix/nix-daemon): New operation AddToStoreNarVova Kryachko5-19/+289
This operation is particularly used when invoking the following nix commands: ``` nix-store --add-fixed some-path nix-store --add-fixed --recursive some-path ``` Change-Id: I0f9b129c838c00e10415881f1e6e0d7bc1d7a3a6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12800 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2024-11-24 r/8963 feat(tvix/store): Add CAHash validationVova Kryachko9-64/+302
Validation is done inside ingest_nar_and_hash and is used by Fetch::NAR and the nar-bridge. Change-Id: I7e2be4cc13d2447035f1e5a444f44b62339988bf Reviewed-on: https://cl.tvl.fyi/c/depot/+/12836 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2024-11-24 r/8961 feat(tvix/nar-bridge): support zstd content-encodingFlorian Klink4-16/+52
We previously didn't handle compression in nar-bridge, and left it up to a fronting reverse proxy. However, at least nginx with http2 enabled pins each connection to a single core, causing compression to be limited by the throughput of a single CPU. Change-Id: Ia11c2ff5c012192b25eb8ad05dae5542a2d2f777 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12834 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Reviewed-by: Jörg Thalheim <joerg@thalheim.io>
2024-11-23 r/8959 chore(tvix/nix-compat-derive-tests): update fixturesFlorian Klink1-5/+5
With more implementing NixDeserialize, this error message changed. Fixtures were regenerated by running: ``` TRYBUILD=overwrite cargo test -p nix-compat-derive-tests --all-features ``` Unfortunately, it's not possible to loop this into CI, as trybuild invokes cargo during the build. Change-Id: Ia0ab07d0907d21366845fe06e01df9fb1fe3e7cb Reviewed-on: https://cl.tvl.fyi/c/depot/+/12831 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Tested-by: BuildkiteCI
2024-11-23 r/8955 fix(tvix/nar-bridge): explicitly select fields to add to spanFlorian Klink2-5/+5
We got some double-quoted strings at narinfo_str, and it didn't align well with our other field names. Change-Id: I5c08786d2c4435542bf39ff44b9d4ada5400550d Reviewed-on: https://cl.tvl.fyi/c/depot/+/12826 Tested-by: BuildkiteCI Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
2024-11-23 r/8954 fix(tvix/castore): instrument blob uploads with current spanFlorian Klink1-0/+2
Change-Id: I67e18486c48f06787fad8be506e95eecc23e994d Reviewed-on: https://cl.tvl.fyi/c/depot/+/12825 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Jonas Chevalier <zimbatm@zimbatm.com>
2024-11-23 r/8953 fix(tvix/nar-bridge): set correct service nameFlorian Klink1-1/+1
We should be able to distinguish tvix-store and nar-bridge. Change-Id: I616c8e0c1ce2dbacab92975582dd36141b673aa2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12824 Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Tested-by: BuildkiteCI
2024-11-23 r/8952 feat(tvix/nar-bridge): wire up metrics layerFlorian Klink7-5/+112
This provides some global HTTP statistics. Change-Id: I8bd3e034123154a49d94720b0c8d0c3babde5ae3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12557 Reviewed-by: Jonas Chevalier <zimbatm@zimbatm.com> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2024-11-23 r/8951 feat(tvix/tracing): configure metrics supportFlorian Klink1-25/+69
This creates and registers a global meter provider, which uses the same mechanism to get notified of flushes. Change-Id: I856a67f0b282d494de3b2c2a1b79c06ae8ffe252 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12556 Reviewed-by: Jonas Chevalier <zimbatm@zimbatm.com> Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2024-11-23 r/8948 chore(tvix): bump opentelemetry to 0.27Florian Klink7-509/+217
Change-Id: I3afbd8c94e0bc2cdf30da1886ae05b922f8a718f Reviewed-on: https://cl.tvl.fyi/c/depot/+/12822 Reviewed-by: Jonas Chevalier <zimbatm@zimbatm.com> Reviewed-by: edef <edef@edef.eu> Tested-by: BuildkiteCI
2024-11-23 r/8947 feat(tvix/store): add xp-store-composition-cli feature flagFlorian Klink4-3/+10
This can be used to transitively enable the `xp-composition-cli` feature flag in the `tvix-store` crate, which is unnecessarily hard to do with crate2nix. Change-Id: I3f7c505a3fd505561c9a7b2f063b6540532cdfd4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12809 Tested-by: BuildkiteCI Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
2024-11-20 r/8945 chore(tvix/nix-daemon): Implement framed protocolVova Kryachko2-0/+191
When sending nars over the wire to the nix-daemon, nix protocol versions >= 1.23 use this framing protocol. This change implements an AsyncRead for this protocol, to be used in AddToStoreNar and any other operations when necessary. Change-Id: I5f7972fe1c9ea145780bf449321bd3efeb833d18 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12814 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2024-11-20 r/8944 chore(tvix/nix-daemon): Implement STDERR_READ protocolVova Kryachko5-3/+400
When sending nars over the wire to the nix-daemon, nix protocol versions 1.21 to 1.23 use this framing protocol. This change implements an AsyncRead for this protocol, to be used in AddToStoreNar and any other operations when necessary. Change-Id: I571f1adbb2343c14c98503d1a2c12eea4c783ec9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12813 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2024-11-18 r/8942 refactor(tvix/tracing): simplify flushing channelFlorian Klink1-32/+29
The TracingHandle::flush function allowed a user to pass in their own (optional) oneshot::Sender<()> to get notified once the flush is completed, but that's making things unnecessary complicated. By simply having the flush() function await the flush, we make its interface more intuitive, and callsites (only inside tvix-tracing itself so far) simpler. We can also remove the Option around the oneshot::Sender entirely, as we now always call it with that. For some more clarity, we can remove the channel from the struct fields entirely if otlp support isn't compiled in. Change-Id: I0870b9e8e88c6be6494a9c201c1c70b87e0f0810 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12801 Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: Marijan Petričević <marijan.petricevic94@gmail.com> Tested-by: BuildkiteCI
2024-11-18 r/8940 chore(3p/sources): bump channels & overlayssterni1-1/+1
* //3p/overlays/tvl: build nixos-option with latest Nix version (2.24) as is required now. It would be nice to avoid this somehow to prevent NixOS machines in depot having to carry around two versions of Nix. Maybe we can at least use a statically linked nixos-option? * //3p/{gerrit,gerrit_plugins}: update deps hash * //tvix/eval: adjust our nixVersion “user agent” so that it'll pass the new 2.3.17 minimum version nixpkgs prescribes (to check for zstd support when substituting from the binary cache). Change-Id: I4eb715afdc3dbb857340839f08ce86612aa7f117 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12805 Reviewed-by: flokli <flokli@flokli.de> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2024-11-14 r/8918 feat(nix-daemon): Implement stubs for QueryReferrers, QueryRealizationsVova Kryachko1-1/+18
These are required to support certain nix's local-overlay store operations, it's safer to return empty results for these operations than failing with "operation not implemented" errors. Change-Id: Ic9b69d75dd52af5a826bfb6a8b283b082a0f6bcf Reviewed-on: https://cl.tvl.fyi/c/depot/+/12766 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2024-11-13 r/8917 feat(nix-daemon): Implement more nix daemon operations.Vova Kryachko6-12/+264
In particular QueryPathFromHashPart, QueryValidPaths, QueryValidDerivers Change-Id: Ie6ad83cec5ce9580044b85e201e4e23394f87075 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12762 Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu> Reviewed-by: flokli <flokli@flokli.de>
2024-11-12 r/8916 feat(tvix-store): Improve tvix-store copy.Vova Kryachko3-12/+117
This change contains 2 improvements to the tvix-store copy command: 1. Allows reading the reference graph from stdin, using `-` argument 2. Supports json representation produced by `nix path-info --json` command. In general it makes is easier and faster to import arbitrary closures from an existing nix store with e.g the following command: ``` nix path-info ./result --json --closure-size --recursive | \ jq -s '{closure: add}' | \ tvix-store copy - ``` Change-Id: Id6eea2993da233ecfbdc186f1a8c37735b686264 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12765 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2024-11-12 r/8915 refactor(nix-compat/nix_daemon): drop Sync requirement for StorePathFlorian Klink1-5/+6
By manually writing out the async function, and moving the owned String we can avoid for S to be Sync in the NixSerialize for StorePath<S> impl. Co-Authored-By: edef@edef.eu Change-Id: I8427b38d2bd61de2818088728cbad79cda69d17d Reviewed-on: https://cl.tvl.fyi/c/depot/+/12764 Reviewed-by: Vladimir Kryachko <v.kryachko@gmail.com> Autosubmit: flokli <flokli@flokli.de> Reviewed-by: edef <edef@edef.eu> Tested-by: BuildkiteCI
2024-11-12 r/8914 docs(tvix): document Store configurationFlorian Klink3-2/+175
This describes the current composition system used for BlobService / DirectoryService / PathInfoService, why it's hidden, how to expose it, and adds some common examples to explain it. Change-Id: I2ce7da40992cc988947c3e924499f8157c5e4937 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12749 Tested-by: BuildkiteCI Reviewed-by: yuka <yuka@yuka.dev>
2024-11-12 r/8913 refactor(nix-compat/store_path): use AsRef<str>Florian Klink5-34/+48
Implement PartialEq/Eq ourselves instead of deriving, by proxying to name.as_ref() (and digest of course). Also implement Hash on our own, clippy doesn't like this to be derived, while Eq/PartialEq is not. Change-Id: Idbe289a23ba3bc8dabf893d4d8752792ae2778c3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12744 Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu> Autosubmit: flokli <flokli@flokli.de>
2024-11-12 r/8912 docs(tvix/eval): update string context documentFlorian Klink1-3/+4
NixString doesn't contain a `HashSet<BuildReference>` anymore, there's a more packed internal data structure. We don't need to be overly specific in the docs, just say we expose an API. Change-Id: I13380c49293f9a86d1916909fdfeefbe64d9024b Reviewed-on: https://cl.tvl.fyi/c/depot/+/12755 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: edef <edef@edef.eu>
2024-11-12 r/8911 refactor(tvix/eval): rm From<(T, Option<Box<NixContext>>)> for NixStringFlorian Klink2-20/+1
This conversion was a bit too magic, and we can just use `NixString::new_context_from` without having to worry about the distinction between an empty context or no context, as NixString::new_context_from already deals with that internally. Change-Id: I3e5d57ecfa0f7456aa6c526863e49f2523afaec3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12754 Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu> Autosubmit: flokli <flokli@flokli.de>
2024-11-12 r/8910 refactor(tvix/castore/digest): stop using bytes::Bytes internallyFlorian Klink1-24/+25
Change-Id: I07a13da0ae4aee4298025fca4345d738f40cfe5a Reviewed-on: https://cl.tvl.fyi/c/depot/+/12757 Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Reviewed-by: edef <edef@edef.eu> Tested-by: BuildkiteCI