about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2023-09-17 r/6602 fix(tvix/nar-bridge): Fix directory stack trackingConnor Brewster3-5/+39
Previously, nar-bridge, had a couple of bugs with tracking the current directory when traversing a NAR file. The included test case looks like: ``` / (dir) /test (dir) /test/tested (file) /tested (file) ``` Previously, we would do a string prefix match between the current node and the top of the directory stack to determine if the node is in the directory. In this case `/test` is a substring of `/tested`; however, `/tested` is not in the `/test` directory. The fix is to append a `/` to the directory name when doing the prefix match, so `/test/` is not a prefix of `/tested`. Additionally, when popping the stack, we need to continuously pop the stack until the new node is in the directory at the top of the stack (stopping before we pop the root directory) Example: ``` / (dir) /a (dir) /a/b (dir) /a/b/c (file) /z (file) ``` Previously, `z` would end up in directory `/a` because we only the pop the stack once. The included test case requires both of these issues to be fixed for it to pass, so I think it is sufficient. Change-Id: I22f601babf04d39d85535ba7ad585d3970757211 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9348 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Autosubmit: Connor Brewster <cbrewster@hey.com>
2023-09-17 r/6601 feat(tvix/nar-bridge): increase timeoutsFlorian Klink1-3/+3
In some cases, Nix is not able to stream the NAR file fast enough. Bump the timeouts for now. We might want to get a better understanding in what's happening here long-term, and/or make the timeouts configurable. Change-Id: Ieaa9c8f04bc73c6ce0679a058d07eaf87126634e Reviewed-on: https://cl.tvl.fyi/c/depot/+/9340 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-17 r/6600 feat(tvix/nar-bridge): initFlorian Klink27-0/+2663
This provides a Nix HTTP Binary Cache interface in front of a tvix-store that's reachable via gRPC. TODOs: - remove import command, move serve up to toplevel. We have nix-copy- closure and tvix-store commands. - loop into CI. We should be able to fetch the protos as a third-party dependency. - Check if we can test nar-bridge slightly easier in an integration test. - Ensure we support connecting to unix sockets and grpc+http at least, using the same syntax as tvix-store. - Don't buffer the entire blob when rendering NAR Co-Authored-By: Connor Brewster <cbrewster@hey.com> Co-Authored-By: Márton Boros <martonboros@gmail.com> Co-Authored-By: Vo Minh Thu <noteed@gmail.com> Change-Id: I6064474e49dfe78cea67676957462d9f28658d4a Reviewed-on: https://cl.tvl.fyi/c/depot/+/9339 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-09-17 r/6599 chore(tvix): upgrade workspace.resolver to "2"Florian Klink1-0/+1
This shuts off the following warning: ``` warning: some crates are on edition 2021 which defaults to `resolver = "2"`, but virtual workspaces default to `resolver = "1"` note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest ``` Stuff still seems to work with it, so no need to stick with "1". See https://doc.rust-lang.org/edition-guide/rust-2021/default-cargo-resolver.html for more details. Change-Id: I6056d95cd5cb793f37ef843ed43009a27ad36367 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9342 Reviewed-by: raitobezarius <tvl@lahfa.xyz> Reviewed-by: Connor Brewster <cbrewster@hey.com> Tested-by: BuildkiteCI
2023-09-17 r/6598 feat(tvix/store): improve error message formattingFlorian Klink1-1/+2
WrongSorting(Vec<u8>) actually encodes the name of a node, so if we can, we want this to display it as a string (and fall back to the base64 encoding if we can't). Before: > rpc error: code = InvalidArgument desc = directory b3:yfwNlpPm8MkrRvshGHfgMtKLoSDtX2pKliVuVWmUt5g= failed validation: [108, 111, 99, 97, 108, 101] is not sorted After: > rpc error: code = InvalidArgument desc = directory b3:yfwNlpPm8MkrRvshGHfgMtKLoSDtX2pKliVuVWmUt5g= failed validation: locale is not sorted Change-Id: I68420c53a89cb1aa96e4bdce414366cebcb7915f Reviewed-on: https://cl.tvl.fyi/c/depot/+/9350 Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com> Reviewed-by: raitobezarius <tvl@lahfa.xyz>
2023-09-17 r/6597 chore(tvix/store): allow non_snake_caseFlorian Klink1-1/+1
Some of the tonic-generated types create new warnings. Change-Id: Ib538bfd7d90d857d80a129fbbdf3a38c89cc04ab Reviewed-on: https://cl.tvl.fyi/c/depot/+/9349 Reviewed-by: raitobezarius <tvl@lahfa.xyz> Reviewed-by: Connor Brewster <cbrewster@hey.com> Tested-by: BuildkiteCI
2023-09-15 r/6596 feat(tvix/store): add simple integration testFlorian Klink1-3/+29
This imports the docs folder into the tvix store, and ensures it comes up with the same store path as Nix. While we validate hashes in general through tvix-cli output path checks already, it doesn't include the tvix-store CLI itself. See https://cl.tvl.fyi/c/depot/+/9329/comment/339f0720_524f0104/ for context. Change-Id: I239ce5b6a07cb962b242142ab716693359b8674c Reviewed-on: https://cl.tvl.fyi/c/depot/+/9338 Reviewed-by: raitobezarius <tvl@lahfa.xyz> Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com>
2023-09-15 r/6595 feat(tvix/store/import): print store path to stdoutFlorian Klink1-2/+13
This allows comparing the output in an integration test. Change-Id: I8bb2254e18e90005a4f1b30fd47ef69642e3732e Reviewed-on: https://cl.tvl.fyi/c/depot/+/9337 Tested-by: BuildkiteCI Reviewed-by: Adam Joseph <adam@westernsemico.com> Reviewed-by: raitobezarius <tvl@lahfa.xyz> Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Connor Brewster <cbrewster@hey.com>
2023-09-15 r/6594 fix(tvix/store): log to stderr, not stdoutFlorian Klink1-4/+5
This leaves some space in stdout to provide actual meaningful output. Also, rename print_node to log_node because that's what it does, it's using the logger to log out more detailed info. Change-Id: Ic64a6330dbfcdc63eb4198067a5c5e47b841b9a5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9336 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com> Reviewed-by: Adam Joseph <adam@westernsemico.com>
2023-09-15 r/6593 feat(users/Profpatsch/whatcd-resolver): misc improvementsProfpatsch1-18/+30
* run on port 9092 (transmission runs on 9091) * run postgres on port 5431 instead of 5432 (to not interfere) * only search for albums for now * correctly handle missing torrent file in SELECT Change-Id: I20125f7731c9b80a9e8ea05b726adfb1244a24bc Reviewed-on: https://cl.tvl.fyi/c/depot/+/9335 Reviewed-by: Profpatsch <mail@profpatsch.de> Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-09-15 r/6592 feat(users/Profpatsch/whatcd-resolver): query all pages in searchProfpatsch1-54/+78
If more than one page is returned by the search, query all of them. Also add an ON CONFLICT clause in case the torrent group already exists, to update it. This function is getting a bit unwieldy (plus it suffers from an n+1 problem), but ok. Change-Id: Ib505a2be8286d658ae44a3fe124a4fb42d0fc0c6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9334 Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2023-09-15 r/6591 chore(3p/sources): bump channels & overlays (2023-09-15)Vincent Ambo2-27/+34
* 3p/overlays: add shell script warning about 'exa' removal This has been removed in nixpkgs, leading to eval errors. This trick is a nicer way to work around the hard deprecation without requiring approval from inactive users. This will be cleaned up in cl/9330. Change-Id: I10be59feff8f658dc566456acfc2c9ebbd78b59d Reviewed-on: https://cl.tvl.fyi/c/depot/+/9328 Reviewed-by: flokli <flokli@flokli.de> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-15 r/6590 chore(users/tazjin): drop 'exa' from my systemsVincent Ambo2-2/+0
I don't use it, and it's deprecated. Change-Id: I8e8c505ba309d5228b54f155463af4ed007f5452 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9331 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-15 r/6589 fix(tvix/eval): update identifier quoting to match cppnix 2.17Adam Joseph13-6/+38
In cppnix 2.17, commit b72bc4a972fe568744d98b89d63adcd504cb586c, the libexpr pretty-printing routine was fixed so that it would no longer pretty-print attrsets with keywords in their attrnames incorrectly. This commit implements the corresponding fix for tvix, fixes our tests to work with cppnix>=2.17 oracles, and expands our test cases to cover all the keywords. Change-Id: I4b51389cd3a9c44babc8ab2a84b383b7b0b116ca Reviewed-on: https://cl.tvl.fyi/c/depot/+/9283 Autosubmit: Adam Joseph <adam@westernsemico.com> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-09-12 r/6588 feat(ops/users): add totikom to usersEugene Lomov1-0/+5
Change-Id: Id2577449ec0a52f8c16f13150896ec0680f02051 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9325 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su>
2023-09-12 r/6587 chore(tazjin/emacs): remove unused or duplicated packagesVincent Ambo3-17/+5
Some of these I don't use, some of these have been replaced with tree-sitter, some of these have moved into core. Change-Id: Id0a8aac4189607a89db861bbc09b95c75c45dc0f Reviewed-on: https://cl.tvl.fyi/c/depot/+/9310 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-09-12 r/6586 fix(tazjin/emacs): manually hook up tree-sitter grammarsVincent Ambo1-17/+19
The mechanism in nixpkgs does not work, but doing it myself is not that difficult. Change-Id: I91b12e9c1f5d381c9990fd46e02169f5275f88da Reviewed-on: https://cl.tvl.fyi/c/depot/+/9309 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-12 r/6585 feat(tazjin/emacs): enable a bunch of tree-sitter modesVincent Ambo1-0/+17
Especially interested in the C++ mode, as I am regularly dealing with extremely large C++ files where the existing mode is having trouble. Change-Id: I8c17a35011a23b67043de5de58c4269c636de68b Reviewed-on: https://cl.tvl.fyi/c/depot/+/9308 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-12 r/6584 feat(tazjin/emacs): add a bunch of tree-sitter grammarsVincent Ambo1-0/+17
I want to experiment with the new tree-sitter modes in Emacs, maybe they're good. Change-Id: I706fc8a889fcfa61d0f11d50ecbc67a2899b5bbf Reviewed-on: https://cl.tvl.fyi/c/depot/+/9307 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-12 r/6583 docs(REVIEWS): point people to signup.tvl.fyi for account creationVincent Ambo2-12/+3
Rather than invoking the old shell script, people can now use the web UI to create the entry. Change-Id: Ic1b065d219fde9977bb1d8ee59ce7ac5f27e2e29 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9306 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2023-09-12 r/6582 chore(ops/yandex-cloud-rs): bump API definitions to 2023-09-04Vincent Ambo3-4/+4
Change-Id: I6ef83796a01014b01ac8aef6c7f500863f5cbf03 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9305 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-09-12 r/6581 fix(tvix/store/blobservice/seeker): fix debug assertFlorian Klink1-2/+9
We were asserting absolute_offset > self.pos, but that's not true for both being zero. Ramp up the tracing bits a bit, so we actually can see this in the debug logs. Change-Id: I21693bcafab227549b19cd6f1215d2f8dee77ecc Reviewed-on: https://cl.tvl.fyi/c/depot/+/9292 Reviewed-by: raitobezarius <tvl@lahfa.xyz> Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2023-09-12 r/6580 docs(tvix/website): add tvix-storeFlorian Klink1-0/+1
Change-Id: I9f7021ce08d0259be06932b71a83ee0361e5096d Reviewed-on: https://cl.tvl.fyi/c/depot/+/9296 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: raitobezarius <tvl@lahfa.xyz> Tested-by: BuildkiteCI
2023-09-11 r/6579 fix(tvix): Get tvix build and shell to work on DarwinBrian Olsen1-2/+19
On Darwin rust crates sometimes needs iconv manually added to compile successfully. There is currently also a bug in strip that requires that you set dontStrip on buildRustCrate for it to work. See: https://github.com/NixOS/nixpkgs/issues/218712 Change-Id: I13555c7bbee1d34f08fc51a668d2067dbbe550ce Reviewed-on: https://cl.tvl.fyi/c/depot/+/9291 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-09-11 r/6578 chore(tazjin/nixos): ensure expect is always installedVincent Ambo1-0/+1
Change-Id: I2beff7484e869fcf2771e7e1c9ba5f73d0daea25 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9295 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-09-10 r/6577 refactor(tvix/website): remove unused structuredDataFlorian Klink1-8/+0
Change-Id: I2445b977c5bed3e2d4b90e8ad81119d316b29b50 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9281 Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: Adam Joseph <adam@westernsemico.com> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de>
2023-09-10 r/6576 refactor(tvix): move logo to //tvix:logoFlorian Klink6-5/+14
Also expose both formats, then use it from users/tazjin/presentations/tvix-eval-2023. Change-Id: Id906e8aff5510a7a4f33336326472e86db18ea32 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9280 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su>
2023-09-10 r/6575 feat(ops/modules/code.tvl.fyi): fix go get for tvix store protosFlorian Klink1-1/+11
There's a go.mod in in tvix/store/protos, which sets the module path to code.tvl.fyi/tvix/store/protos. While this path makes kinda sense, it's currently not possible to `go get` it from that location, as we serve the cgit interface from there. Fortunately, `go get` has a mechanism to determine clone URLs for a given go module path, as documented in https://go.dev/ref/mod#vcs-find. We simply need to serve a small HTML file at that path, describing the proper clone URL. This points the clone URL for code.tvl.fyi/tvix/store/protos to a josh- provided subtree of just :/tvix/store/protos, which will contain the root go.mod file. We need another layer of indirection as nginx can't have an `alias` directive inside a conditional block (but can have a redirect). Contrary to https://b.tvl.fyi/issues/299#comment-464, it seems to work for our usecase. It might become a problem if we actually serve `go.mod` files in a nested fashion at some point, but let's look at that once we get there. Fixes b/299. Change-Id: Idcad795105af5d57e6d06de6e232881dccf9110b Reviewed-on: https://cl.tvl.fyi/c/depot/+/9290 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: adisbladis <adisbladis@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su>
2023-09-09 r/6574 fix(tvix/eval): make compare_strict_eval_tests use StrictAdam Joseph1-1/+1
Previously, compare_strict_eval_tests() was using Strictness::Lazy. This appears to be a minor oversight from 0ab6494286e77abcdc0bba1c92386fc7e654ca12. This commit corrects that, by changing Strictness::Lazy to Strictness::Strict. Change-Id: Ia2389a5d30481cd322ed55230731340b795e5d87 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9282 Tested-by: BuildkiteCI Autosubmit: Adam Joseph <adam@westernsemico.com> Reviewed-by: sterni <sternenseemann@systemli.org>
2023-09-09 r/6573 feat(tvix/store): add :store-protos-goFlorian Klink1-1/+9
This target builds and runs the go tests in that directory, allowing us to spot regressions as the one fixed in cl/9285. Change-Id: Ia16c0622f29db343eae7c0386e715b292703bd4f Reviewed-on: https://cl.tvl.fyi/c/depot/+/9286 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: Brian McGee <brian@bmcgee.ie> Tested-by: BuildkiteCI
2023-09-09 r/6572 fix(tvix/protos): support []byte node namesBrian McGee2-34/+35
The underlying protos were changed to return `[]byte` instead of `string`. Change-Id: I5d3e5d8de0ed7200325f7ab0d62e3c10d8eb1b7d Reviewed-on: https://cl.tvl.fyi/c/depot/+/9285 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2023-09-08 r/6571 docs(tvix/eval): document remaining opcodesVincent Ambo1-3/+48
Change-Id: Iad8a5f78930872719b6481ddf1bbad8532bfa888 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7981 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-09-08 r/6570 docs(tvix/eval): document attribute set related opcodesVincent Ambo1-0/+11
Change-Id: Ib98a9fe8c9aa3f0e61c27d10285c0926cda7a969 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7979 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2023-09-08 r/6569 docs(tvix/eval): add documentation strings for some OpCode variantsVincent Ambo1-2/+37
Change-Id: I42e610740b3687e1fd897d36694cce425751a8bc Reviewed-on: https://cl.tvl.fyi/c/depot/+/7975 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: flokli <flokli@flokli.de>
2023-09-08 r/6568 docs(tvix/store/fuse): add more comment to list_root argFlorian Klink1-0/+2
Forgot to squash this into cl/9217. Change-Id: Id5a87cbe729592f3b53e8c329b6890519f5da319 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9272 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su>
2023-09-08 r/6567 feat(tazjin/blog): publish tvix-eval talk blog postVincent Ambo2-1/+5
Change-Id: I374c2658a19db17e53ab392299cf23657e8b75b2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9278 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-08 r/6566 feat(web/blog): add option to disable tagfilter per-postVincent Ambo2-1/+5
Posts can now specify (optionally) tagfilter=true/false to toggle escaping of HTML tags. Change-Id: Ie4a1a45028570fc166fdffba708bf9d0e0c6ae81 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9277 Tested-by: BuildkiteCI Reviewed-by: Mark Shevchenko <markshevchenko@gmail.com>
2023-09-08 r/6565 feat(nix/renderMarkdown): add optional tagfilter argumentVincent Ambo1-3/+16
Makes it possible to disable tag filtering for rendered content (on by default, of course). Change-Id: I74ecfee97eaa7abf32049172b28705e7a3f21548 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9276 Tested-by: BuildkiteCI Reviewed-by: Mark Shevchenko <markshevchenko@gmail.com>
2023-09-08 r/6564 feat(tools/cheddar): allow disabling tagfilter extensionVincent Ambo3-7/+24
Makes it possible to do things like embedding YouTube videos in blog posts rendered through Cheddar. Change-Id: I6aed943c7bec0167b9f009d36dd067c52c6d3083 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9275 Tested-by: BuildkiteCI Reviewed-by: Mark Shevchenko <markshevchenko@gmail.com>
2023-09-07 r/6563 docs(tazjin/blog): add NixCon 2023 link to talk notesVincent Ambo1-1/+2
Change-Id: I55e2c668a014a87ba15db2a93f14eb0812a83a8e Reviewed-on: https://cl.tvl.fyi/c/depot/+/9274 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-07 r/6562 chore(tazjin/presentations): last minute changes to tvix-eval talkVincent Ambo2-7/+7
Change-Id: I788a17f846b35f5635ed7a9ec0d3249b05653d44 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9273 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su>
2023-09-06 r/6561 chore(3p/sources): bump channels & overlays (2023-09-06)Vincent Ambo2-22/+21
* //users/tazjin/nixos: disable virtualbox because it doesn't build anymore. I don't actually need it. Change-Id: Ie4640c09406485ed61673919b2c7621d0a809622 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9271 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: tazjin <tazjin@tvl.su>
2023-09-06 r/6560 chore(3p/sources): bump channels & overlays (2023-08-21)Vincent Ambo5-41/+63
Included changes: * tvix/eval: enable some lang tests on nix_latest Nix 2.16 contains some breaking language changes which Tvix does not yet implement, but the existing tests for them are now passed by Nix 2.16 (but not yet by Tvix). * tvix/eval: disable a lang test on nix_latest In Nix 2.17, the identifier formatting test fails because some behaviour changed. We have not investigated further yet. * 3p/overlays: use version of ihp-hsx that works with GHC 9.4 Originally from the separate cl/9185. * top-level: introduce a mechanism to exclude build targets from CI in the top level. This fixes b/296. * users/grfn: disable builds of xanthous (and dependents) until the CLs fixing its build are submitted * 3p/overlays: build nixos-option against Nix 2.15, the only version with which it builds * 3p/overlays: bump tdlib to 1.8.16 Change-Id: Ia377f39dbdb08ac45ff830a615e64babc091e5ee Reviewed-on: https://cl.tvl.fyi/c/depot/+/9125 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-09-06 r/6559 chore(depot): skip builds for broken packagesVincent Ambo1-1/+1
Considers `note.meta.broken` in addition to `node.meta.ci.skip`, because people might be inheriting this from something, or using an extremely complicated package mechanism in which setting their own meta attributes is ugly/non-trivial. Change-Id: Ia93cfbba6af545e370a7c7dbd51f24e1df68bbf7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9270 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: flokli <flokli@flokli.de>
2023-09-05 r/6558 refactor(tvix/store): use tokio::task::JoinHandleFlorian Klink3-37/+35
This makes the inside code a bit less verbose. I wasn't able to describe the type of the async move closure itself, which would allow us to remove the JoinHandle<_> type annotation entirely. Change-Id: I06193982a0c7010bd72d3ffa4f760bea1b097632 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9268 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-05 r/6557 feat(tvix/store): fix ctrl-c handling on mount commandFlorian Klink4-6/+60
This enables the tokio `signal` feature, and registers a ctrl_c signal handler, which will use the unmount handle to unmount in case a ctrl-c signal is received. This avoids having disconnected mountpoints when Ctrl-C'ing a `tvix-store mount` invocation. In case the filesystem is unmounted externally (via `umount /path/to/ mountpoint`), the future is waiting for the signal is never resolved and the task is stopped. Change-Id: I149f705a6cb50188177f2a6c6a5fcd77218e2a3f Reviewed-on: https://cl.tvl.fyi/c/depot/+/9218 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-09-05 r/6556 feat(tvix/store/fuse): allow listingFlorian Klink3-4/+111
This provides an additional configuration flag to the tvix-store mount subcommand, and logic in the fuse module to request listing for the root of the mountpoint. Change-Id: I05a8bc11f7991b574696f27a30afe0f4e718a58c Reviewed-on: https://cl.tvl.fyi/c/depot/+/9217 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: adisbladis <adisbladis@gmail.com> Tested-by: BuildkiteCI
2023-09-05 r/6555 feat(tvix/store/pathinfosvc): provide listingFlorian Klink9-41/+310
This provides an additional method in the PathInfoService trait, as well as an RPC method on the gRPC layer to list all PathInfo objects in a PathInfoService. Change-Id: I7378f6bbd334bd6ac4e9be92505bd099a1c2b19a Reviewed-on: https://cl.tvl.fyi/c/depot/+/9216 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-09-05 r/6554 refactor(tvix/store): infer more typesFlorian Klink1-51/+48
We don't need to explicitly describe the type of the task itself, describing the return type of the async closure is sufficient. Also, use io::Result<_> instead of Result<_, io::Error>. Change-Id: I9ab3f990eb49929b0aea335b2bb07da392ab631f Reviewed-on: https://cl.tvl.fyi/c/depot/+/9267 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: flokli <flokli@flokli.de>
2023-09-05 r/6553 chore(tvix/store): drop walkdir workaround for symlinks at rootFlorian Klink4-25/+9
https://github.com/BurntSushi/walkdir/pull/170 got merged, meaning we don't need to keep our own logic in here anymore. Our test cases already cover this. Change-Id: Ied3043ee651c8aafa10271c1e1ca5d460fb6c0b8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9269 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>