Commit graph

19930 commits

Author SHA1 Message Date
Florian Klink
3d51b20cca feat(nix-compat/derivation): simplify derivation_or_fod_hash
Populate the input_derivations struct field in-place, using
self.input_derivations.from_iter, which seems a bit more readable.

Change-Id: I4aa12cfd66e08486ef27aedab1bb731d94b63657
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10934
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: Peter Kolloch <info@eigenvalue.net>
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-02-17 04:46:20 +00:00
Vincent Ambo
c7875cfc12 chore(3p/sources): bump channels & overlays (2024-02-16)
* bump wasm-bindgen in WASM crates to 0.2.91

Change-Id: I4da299931dd79f4dcb695ea61cb9de1e4cfcba74
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10931
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-02-16 11:45:15 +00:00
Florian Klink
8b06566d43 fix(third_party/nixpkgs/crate2nix): reintroduce tests in debug patch
This is was dropped accidentially, but we actually want to run tests in
debug mode, to check for overflows.

Change-Id: Ic0cf2d4a263bfd71f3453ed335d8be9dacd945e8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10932
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-02-16 11:11:08 +00:00
Vincent Ambo
d20a97ccb8 docs(web/tvl): fix minor typo in Tvix blog post
Thanks, lukegb.

Change-Id: I7b6af6c9069267936bef8dcb521b4b92708066e6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10929
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-02-16 08:26:39 +00:00
Vincent Ambo
e9a3a79a1a chore(web/tvl): publish Tvix update blog post
Change-Id: I165ea0d9df3d55e18371deade04e3239d0123c18
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10927
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-02-15 17:13:42 +00:00
Vincent Ambo
e6a48a4f02 docs(web/tvl): fix link to february '24 tvix update
Makes this link more similar to the other ones, and fixes the year.

Change-Id: I00173bf3c2efde66ac2cf008ad2d492f518f844e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10926
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
2024-02-15 16:41:39 +00:00
Vincent Ambo
472f727c24 fix(ops/gerrit): mitigate Quarkus temporarily
Keycloak has a new thing going on: Wildfly (whatever that is) is out,
and Quarkus (whatever that is) is in.

https://www.keycloak.org/migration/migrating-to-quarkus

This breaks our stuff, however, so we're using the Gerrit OAuth
plugins recommendations for how to work around that:

8d467e9945%5E%21/#F1

Change-Id: I2391a89c6791015e66c5e480b905b6ee56663020
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10905
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-02-15 16:23:32 +00:00
sterni
a128a8638b chore(sterni/minecraft-fabric): 0.11.2 -> 1.0.0
Change-Id: I57523831a5550d8cd09044fc85980b922e5efeef
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10925
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-02-15 13:31:46 +00:00
Vincent Ambo
4dc112cb9c docs(web/tvl/blog): another editing pass over 2024-02 tvix update
Change-Id: I1396ab24c918fc91e37ce7492b041356272a018c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10885
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-02-15 10:59:07 +00:00
Vincent Ambo
57cdebff8e docs(web/tvl/blog): editing pass over 2024-02 tvix update
Change-Id: I62f74a0b53dd655029006052b4a5e00254c4a381
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10805
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-02-15 10:37:36 +00:00
Vincent Ambo
1297177a23 chore(tazjin/nixos/laptop): timezone Moscow->Bangkok
Change-Id: Id3fdc1e9fc7ca04921453a9ddbe6a1f09dfec82f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10865
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
2024-02-15 02:44:14 +00:00
sterni
0c0edd5928 chore(ops/modules/btrfs-auto-scrub): schedule later by default
Midnight is kind of when you're still up and may want read performance
that is not affected by a btrfs scrub.

Change-Id: I0609269d3ee9853f7c7fe08cae18efe1d9259e7e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10864
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-02-15 00:03:45 +00:00
sterni
a9f40a905b chore(sterni/ingeborg/minecraft): 1.20.2 -> 1.20.4
We skip 1.20.3 which had a somewhat nasty bug that was immediately fixed
in 1.20.4 with no other changes.

Change-Id: Ib7ef12912b3ed7a7ed2e00fea654d5d7532a92f7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10863
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
2024-02-15 00:03:45 +00:00
sterni
d7a0b3b1ec chore(sterni/ingeborg/minecraft): 1.20.1 -> 1.20.2
Change-Id: I2ec2e61f6b8a3d706966a9d259d350a010424ef1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10862
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-02-15 00:03:45 +00:00
sterni
ddb32085a8 chore(sterni/ingeborg/minecraft): 1.19.4 -> 1.20.1
1.20.1 doesn't seem to have any substantial changes except bug fixes, so
let's jump to it right away.

Change-Id: If41f06352f5e5351e37af1969fa8152693a227e8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10861
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
2024-02-14 23:35:26 +00:00
sterni
fe877066c7 chore(sterni/minecraft-fabric): add 1.20.* versions released to date
Change-Id: I5d5d971b7cab2fc9af70731d1778f17aabb249b1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10860
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-02-14 23:33:55 +00:00
Aspen Smith
9e23df0920 feat(aspen/web): Update band links
Change-Id: I96a3bb9d443eac4c735c29b467a8290250edb30a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10859
Reviewed-by: aspen <root@gws.fyi>
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-02-14 19:37:41 +00:00
Aspen Smith
e2d04e49e6 feat(aspen/web): Add make alias to preview
Change-Id: I86151366bd680498a104d7337579cddccb16d36b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10858
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-02-14 19:37:41 +00:00
Aspen Smith
bd4cbfcce7 chore(aspen/web): source_up in direnv
Change-Id: I106ddbdfce4d183de8bd8684d82f6504ff634d0a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10857
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Autosubmit: aspen <root@gws.fyi>
2024-02-14 19:37:41 +00:00
Aspen Smith
05182e0bfa feat(aspen/web): I'm no longer looking for a job
Change-Id: I9805553d0ae199139847ed9299fcfe2dd237a146
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10856
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Autosubmit: aspen <root@gws.fyi>
2024-02-14 19:37:41 +00:00
Aspen Smith
82ecd61f5c chore(users): grfn -> aspen
Change-Id: I6c6847fac56f0a9a1a2209792e00a3aec5e672b9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10809
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
2024-02-14 19:37:41 +00:00
sterni
0ba476a426 chore(3p/sources): Bump channels & overlays
* SBCL issue resolved in 2.4.1 which is included in channel.

* Need to disable the tests of libgit2 1.5 (needed by cargo-audit).
  Before this bump they weren't executed either.

* Adjust to rename of overrideScope' -> overrideScope (lib.makeScope).

* tdlib: 1.8.23 -> 1.8.24

Change-Id: I2e1e23c8f20c26c4f9daa01c4d278b4f0e80da92
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10810
Reviewed-by: aspen <root@gws.fyi>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-02-13 20:45:55 +00:00
Aspen Smith
98b89e53e2 test(tvix/eval): Add test asserting size of Value
Now that I've done a ton of things to make sure Value is small on the
stack (16 bytes, which is a perfectly reasonable size for a programming
language Value enum), add a test asserting it stays that way.

These size improvements have a measurable impact, too - here's the
`hello outpath` benchmark compared between canon (as of r/7495) and this
commit:

hello outpath time:   [990.56 ms 995.83 ms 1.0070 s]
              change: [-7.1397% -6.1302% -5.1651%] (p = 0.00 < 0.05)
              Performance has improved.

Change-Id: If99a0976eab28eb5e516fcd2f4a0e068145af23e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10799
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-02-13 16:49:53 +00:00
Aspen Smith
7e286aab1a feat(tvix/eval): Box Value::Catchable
This is now the only enum variant for Value that is larger than 8
bytes (it's 16 bytes), so boxing it (especially since it's not
perf-critical) allows us to get the Value size down to only 16 bytes!

Change-Id: I98598e2b762944448bef982e8ff7da6d6683c4aa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10798
Tested-by: BuildkiteCI
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Autosubmit: aspen <root@gws.fyi>
2024-02-13 16:49:53 +00:00
Aspen Smith
dd26177319 revert(tvix/eval): Don't double-box Path values
This reverts commit d3d41552cf.

This was well-intentioned, but now the boxed Path values are actually
the *largest* Value enum variants, at 16 bytes (because they're
fat-pointers, with a len) instead of 8 bytes like all the other values.
Having the double reference is a reasonable price to pay (it seems; more
benchmarks may end up disagreeing) for a smaller Value repr.

Change-Id: I0d3e84f646c8f5ffd0b7259c4e456637eea360f7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10797
Tested-by: BuildkiteCI
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-02-13 16:49:53 +00:00
Aspen Smith
e3c92ac3b4 fix(tvix/eval): Replace inner NixString repr with Box<Bstr>
Storing a full BString here incurs the extra overhead of the capacity
for the inner byte-vector, which we basically never use as Nix strings
are immutable (and we don't do any mutation / sharing analysis).
Switching to a Box<BStr> cuts us from 72 bytes to 64 bytes per
string (and there are a lot of strings!)

Change-Id: I11f34c14a08fa02759f260b1c78b2a2b981714e4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10794
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-02-13 16:49:53 +00:00
Florian Klink
24a089f87d chore(users/flokli/ipu6-softisp): simplify expression
nixos-unstable got the bump to libcamera 0.2, no need to also do this
here.
We only need to use the patched libcamera for pipewire and wireplumber
running on the system.

Change-Id: I4ba5d30f68a5ded56cba07a5ad4aaa84d2711b8f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10825
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-02-13 15:37:59 +00:00
Florian Klink
41cd3c44d2 chore(users/flokli/ipu6-softisp): inline kernel patches
"media: ov2740: Fix hts value" got backported into linux-stable:

```
commit c5883a8a3676b94fe7cefde97c8eec50bb879eb2
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Mon Dec 4 13:39:42 2023 +0100

    media: ov2740: Fix hts value

    [ Upstream commit 3735228bbe3511f844e03dfcc4003fadb59dde23 ]

    HTS must be more then width, so the 1080 value clearly is wrong,
    this is then corrected with some weird math dividing clocks in
    to_pixels_per_line() which results in the hts getting multiplied by 2,
    resulting in 2160.

    Instead just directly set hts to the correct value of 2160 and
    drop to_pixels_per_line().

    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
```

So drop that patch from the list of kernel patches to apply (and vendor
in the patches).

Change-Id: I314ccb524d156c0f445ed923ce0600f27b8cc699
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10813
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: flokli <flokli@flokli.de>
2024-02-13 15:37:59 +00:00
Luke Granger-Brown
28173ca4b9 chore(3p/gerrit): 3.8.2 -> 3.9.1
Change-Id: I8fa10b52c44bd3d5efb0fff740ad6d5da6e96831
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10802
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-02-12 15:59:15 +00:00
Luke Granger-Brown
0c6813ccf8 chore(nix/buildGo): add support for Go 1.20+
https://github.com/golang/go/issues/51225 and other changes mean that importcfgs are now basically required for Go 1.20+; we also separately compile the Go stdlib, since it looks like pkgs.go no longer actually has the compiled version of the stdlib shipped, just the source.

Change-Id: Ibf5ee7d43f7800c6dd1e0dec6c7a6d35ef50b7b0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10801
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-02-12 15:58:58 +00:00
Aspen Smith
ca06731e64 feat(grfn/system): Enable ocaml module on yeren
Change-Id: I89f1c449532d4dded322e5a5713d55a096ce94bc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10808
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-02-12 02:55:44 +00:00
Vincent Ambo
42dd3a57ba feat(tazjin/khamovnik): add opengl deps for vaapi
Without this, khamovnik struggles to decode 4K videos smoothly!

Change-Id: Idc63ba7343f601991e5783f06f598a9ebf0eaa28
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10804
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
2024-02-11 19:16:30 +00:00
Profpatsch
80c683c9ec feat(declib): initial mastodon bot experiment
No default.nix yet, just for development.

Change-Id: Ib8bd0057d697fecd083d5961e635c770b7638e08
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10803
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
2024-02-11 16:38:16 +00:00
Profpatsch
d2e3f8cd7b feat(users/Profpatsch/blog): Private Trackers Are Markets
https://profpatsch.de/notes/private-trackers-are-markets

Change-Id: Ie2d83c426dbd021202c95c4935cbf70b51ef90fc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10614
Tested-by: BuildkiteCI
Autosubmit: Profpatsch <mail@profpatsch.de>
Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-02-11 16:38:16 +00:00
Aspen Smith
5d72d3980f refactor(tvix/eval): Box the strings in CatchableErrorKind
These strings are allocated once and never changed, so they don't need
the additional overhead of a capacity given by String - instead, we can
use Box<str> and save on 16 bytes for each of these, *and* for each
Value since this is currently the largest Value variant.

Change-Id: I3e5cb070fe6c5bf82114c92d04f6bae775663a7e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10796
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-02-10 20:35:28 +00:00
Aspen Smith
5d2ae840f1 refactor(tvix/eval): Box the inside of Value::Json
serde_json::Value is pretty large, and is contributing (albeit not
exclusively) to the large size of the Value repr. Putting it in a box
is *especially* cheap (since it's rarely used) and allows us
to (eventually) cut down on the size of Value.

Change-Id: I005a802d8527b639beb4e938e3320b11ffa1ef23
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10795
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-02-10 20:34:25 +00:00
Ryan Lahfa
7b1632ec71 feat(tvix/eval): strengthen significantly catchable test suite
Adds a bunch (notably certain overlapping) tests for catchable situations.

This should cover many scenarios, argument is catchable, element in argument is catchable, function returns
catchable in the middle of the processing, etc.

Co-authored-by: Aspen Smith <root@gws.fyi>
Change-Id: Icd722cf8dbc91a24f45cd540a328711e5826f76c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10621
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-02-10 15:34:15 +00:00
Florian Klink
d10c5309bc feat(tvix/castore/blobsvc): add Chunked{Blob,Reader}
These provide seekable access into a Blob for which we have more
granular chunking information.

There's no support for verified streaming in here yet, this simply
produces a stream of readers for each chunk, skipping irrelevant chunks
and data from the first chunk at the beginning.

A seek simply does produce a new reader using the same process.

Change-Id: I37f76b752adce027586770475435f3990a6dee0b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10731
Reviewed-by: Connor Brewster <cbrewster@hey.com>
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-02-10 14:24:51 +00:00
Florian Klink
8699a2b945 fix(users/flokli/kb/dillemma): update comments
Some of the comments didn't yet account for this layout now being
colemak, and the function keys swapped to match stock Miryoku more
closely.

Change-Id: I38ae92153f80855ac21cc62cd603b7020b5be4ac
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10787
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: flokli <flokli@flokli.de>
2024-02-10 12:01:27 +00:00
Aspen Smith
3fb0697a71 fix(tvix/eval): Propagate catchables in NixAttrs::construct
Correctly propagate the case where the *key* of an attrset is a
Value::Catchable (eg { "${builtins.throw "c"}" = "b"; }) in
`NixAttrs::construct`, by converting the return type to
`Result<Result<Self, CatchableErrorKind>, ErrorKind>` (ugh!!) and
correctly handling that everywhere (including an `expect` in the
Deserialize impl for NixAttrs, since afaict this is impossible to hit
when deserializing from stuff like JSON).

Change-Id: Ic4bc611fbfdab27c0bd8a40759689a87c4004a17
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10786
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
2024-02-09 19:11:09 +00:00
Florian Klink
7a589b3ec6 fix(web/tvl/blog): update to 2024-02 Tvix update
- fix missing "have"
 - add link to tvix-boot readme
 - fix frankenbuild link

Change-Id: Ic755b64ec0e91987f3d43b4db1fc4576c53c2f68
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10785
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: picnoir picnoir <picnoir@alternativebit.fr>
2024-02-09 10:58:07 +00:00
Florian Klink
d69149fbd0 feat(web/tvl/blog): add Tvix Feb 2024 update
Change-Id: Id15da6cc35eefe091224a53be12ce0392e8b6172
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10741
Reviewed-by: aspen <root@gws.fyi>
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-02-09 09:54:05 +00:00
Vincent Ambo
40d0908459 chore(3p/geesefs): bump to version 0.40.0
Change-Id: I160604f20bf6be7673693d4c65cf8edd2171a148
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10590
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-02-09 09:06:20 +00:00
Aspen Smith
8446cd1c8b fix(tvix/eval): Inline List.sort_by, and propagate errors
In order to correctly propagate errors in the comparator passed to
builtins.sort, we need to do all the sorting in a context where we can
short-circuit return `Value`s (because catchables are Values on the `Ok`
side of the Result , not `Err`s). Unfortunately this means we have
to *inline* the List `sort_by` implementation into the builtin_sort
function - fortunately this is the only place that was called so this is
relatively low cost. This does that, and adds the requisite `try_value!`
invocation to allow us to propagate comparator errors here.

As before, this doesn't include tests, primarily since those are coming
in the next commit.

Change-Id: I8453c3aa2cd82299eae89828e2a2bb118da4cd48
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10754
Tested-by: BuildkiteCI
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
2024-02-08 22:50:27 +00:00
Aspen Smith
ddb7bc8d18 fix(tvix): Catch errors for generator in some builtins
Nix doesn't propagate errors for the function argument to some builtins,
like genList and map:

    ❯ nix repl
    Welcome to Nix version 2.3.17. Type :? for help.

    nix-repl> (builtins.tryEval (builtins.genList (builtins.throw "a") 10)).success
    true

    nix-repl> (builtins.tryEval (builtins.map (builtins.throw "a") [ "" ])).success
    true

Note that this is untested as of this particular commit, only because a
big test suite covering all sorts of catchable error propagation issues
is coming next

Change-Id: I48c8eb390a541204b1a6d438c753fa1ca9b3877e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10753
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
2024-02-08 21:58:53 +00:00
Vincent Ambo
17036718df fix(tazjin/secrets): change to new tgsa translations key
Change-Id: Ib1d2cd8a1ef76dc03531f199ba573ebf3339493c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10751
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-02-08 20:55:27 +00:00
Vincent Ambo
3615cf0ae4 chore(tazjin/secrets): rotate key for agenix on khamovnik
Change-Id: I36fa4e0530771c63fcee515a15ec6df76247105a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10750
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-02-08 20:55:27 +00:00
Vincent Ambo
5cae0026f5 fix(tazjin/tgsa): fix cloud folder ID for translations
Change-Id: Icc2fa07902507a9abcf43ab3076419fefac8552d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10749
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-02-08 20:55:27 +00:00
Aspen Smith
b77a103a2a fix(tvix/eval): Propagate catchables in a few more places
Propagate catchables that we get from forcing thunks in builtins in a
few more places using the new try_value! macro

Change-Id: I95fd41a231f877ff153f4adbabd944372d4cc7eb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10738
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
2024-02-08 19:59:21 +00:00
Aspen Smith
780b47193a refactor(tvix/eval): Generalize propagation of catchable values
Rather than explicitly checking for Value::Catchable in all builtins,
make the #[builtin] proc macro insert this for all strict arguments by
default, with support for a #[catch] attribute on the argument to
disable this behavior. That attribute hasn't actually been *used*
anywhere here, primarily because the tests pass without it, even for
those builtins which weren't previously checking for Value::Catchable -
if some time passes without this being used I might get rid of support
for it entirely.

There's also a `try_value` macro in builtins directly for the places
where builtins were eg forcing something, then explicitly propagating a
catchable value.

Change-Id: Ie22037b9d3e305e3bdb682d105fe467bd90d53e9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10732
Tested-by: BuildkiteCI
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
2024-02-08 19:59:21 +00:00