Commit graph

20088 commits

Author SHA1 Message Date
Ryan Lahfa
14fe65a50b refactor(tvix/store): generalize PathInfo constructors
Instead of enforcing NAR SHA256 all the time, we generalize the
`PathInfo` constructor to take a `CAHash` argument which can drive
whether we are having a flat, NAR or text scheme.

With this, it is now possible to implement flat schemes in our
evaluation builtins, e.g. `builtins.path`.

Change-Id: I15bfee0ef4f0f428bfbd2f30c57c012cdcf6a976
Signed-off-by: Ryan Lahfa <tvl@lahfa.xyz>
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11286
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-04-01 12:30:26 +00:00
Vincent Ambo
f2ca30774e chore(3p/sources): remove emacs overlay
Change-Id: I374912efcb45273d0a32daa3da4b68a9cad58afa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11328
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-03-31 22:35:06 +00:00
sterni
73b1f0407b chore(3p/sources): bump channels & overlays – xz edition
Update all 3p/sources as we do normally except

- agenix which is still pinned to 0.15.0

- nixpkgs (unstable) which we bump to the HEAD of the staging-next
  branch. This branch includes the downgrade of xz from 5.6.1 to
  5.4.6 (https://github.com/nixos/nixpkgs/commit/d6dc19adbd). It
  also includes the second haskell-updates rotation with GHC 9.6.4
  which contains a few build fixes that seem to be required to get
  our Haskell targets to work.

Note that this only reverts xz to a version that doesn't contain the now
known backdoor (CVE-2024-3094) which may or may not actually affect
NixOS. Additionally reverting to a version before the malicious
contributor's involvement may be difficult, but prudent:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1068024

Changes required by the updates:

- //3p/overlays/haskell:

  - Update ihp-hsx to latest master to fix build with Stackage LTS 22.
  - Update tmp-postgres to latest master to work around failure with
    ansi-wl-pprint >= 1.
  - Patch punycode for mtl >= 2.3.

- //users/Profpatsch:

  - Clean up some warnings, mostly about unused dependencies
  - my-prelude: Fix build with ghc-boot-9.6.4
  - cas-serve: Use crypton over unmaintained cryptonite
  - ical-smolify: skip in ci, iCalendar would require heavy patching to
    work with Stackage LTS 22.

- //users/{wpcarro,aspen,flokli}:

  Disable home-manager / nixos configuration builds that seem to have
  transient failures that should disappear as we move away from
  staging-next and closer to an actual channel release.

Change-Id: I5cca48e101041c3aedc1d9932dbca2cac885fcc1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11289
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
2024-03-31 22:27:04 +00:00
Vincent Ambo
b67b0a6d72 chore(3p/nixpkgs): try disabling Emacs overlay
Change-Id: I63d9d1cc7221bd3f18b0157f423cf3e369482a2f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11327
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-03-31 22:08:31 +00:00
Vincent Ambo
9204b58f15 feat(automatic-gc): robust way to disable automatic-gc
We just had a minor incident where apparently our build cache for the
critical security fix was deleted by automatic-gc (which I had stopped
manually) being reenabled by an unrelated whitby deploy.

This adds a new mechanism where by touching a file called
`/run/stop-automatic-gc` the GC can be prevented from running.

We might want to configure an occasional alert or something if this
file exists, so we don't forget about it when we are using it.

Change-Id: I041e57e24b2b684696164a2d516581d7f5696ef0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11326
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: flokli <flokli@flokli.de>
2024-03-31 21:44:26 +00:00
Aspen Smith
1d1984e85f fix(web/panettone): Hotfixes for full text search change
- Actually define *static-dir* at build time, to get the search.png in
  the search box
- Better logging for migration running at startup time
- Fix and-where to properly exclude nil clauses
- fix looking up build-time vars in the :build package

Change-Id: Ia2ef3b2715d4c2efb62bbb2c72084f0f0ad09562
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11325
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-03-31 20:58:18 +00:00
Aspen Smith
efe7e8e63a feat(aspen/system): Install patdiff
Change-Id: I86a18fb3fa135c4324064e6acde06bd4dcfbb94d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11294
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Autosubmit: aspen <root@gws.fyi>
2024-03-31 19:35:01 +00:00
Aspen Smith
3ba0948906 fix(aspen/system): Use suspend-then-hibernate for lid close
Change-Id: I07b8cea035050ff90fbb851e4f6401285514db1a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11293
Reviewed-by: aspen <root@gws.fyi>
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-03-31 19:32:14 +00:00
Aspen Smith
35a96b47d5 feat(aspen/system): Weather in i3status bar
Change-Id: Ib2572fea5fc81d6b4d321a2e317a02398d0ae612
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11292
Tested-by: BuildkiteCI
Reviewed-by: aspen <root@gws.fyi>
Autosubmit: aspen <root@gws.fyi>
2024-03-31 19:32:14 +00:00
Aspen Smith
d706ebda65 feat(aspen/system): Add lusca
A Framework laptop

Change-Id: I646e705d12b76c83e8cdcf11c618d07db3a21f0c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11235
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-03-31 19:32:14 +00:00
Aspen Smith
783972182e chore(web/panettone): Make it easier to override oauth settings
For local dev, it's nice to be able to set the oauth variables by hand
before starting the server - in that case, we don't want to override
them with the defaults.

Change-Id: I530518b4d58df1edf55ce062cf7ff3290784a3ed
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11259
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-03-31 19:22:05 +00:00
Aspen Smith
a80c0ce95f feat(web/panettone): Support full-text search of issues
Support basic full text search of issues using postgresql's built-in
text search. There's a new column on the issues table called `tsv`,
which contains a tsvector of the title concatenated with the
description, and a new search form on both the index and closed issues
page which allows searching that tsvector with a user-supplied query.
Results are ranked according to that text query in the case of a search.

This works fine for now, but next up I'd also like to highlight the
results according to the bits that matched the user's query.

Change-Id: I25170bedbbbcdc3ed29a047962e9fcfe280d763a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11258
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-03-31 19:22:05 +00:00
Aspen Smith
7f3d93942a chore(web/panettone): Use postgres 16 in local dev
This is needed for the GENERATED ALWAYS AS...STORED stuff we'll be
doing for text search later on, but also just matches what's being run
in prod

Change-Id: I076ab88c9735f29b5f669107a339f99f80a00cc1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11257
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-03-31 19:22:05 +00:00
Aspen Smith
a1a29f7c0b feat(web/panettone): Add a system for database migrations
Add a system for writing, running, and tracking database
migrations (changes to the database schema) over time, inspired by but
significantly simpler than postmodern-passenger-pigeon.

Migrations can be generated by
running (PANETTONE.MODEL:GENERATE-MIGRATION "name"), and are numerically
ordered lisp files that define (at least) a function called UP, which
runs the migration. The migrations that have been run against the
database are tracked in the `migrations` table, and when the
`(PANETTONE.MODEL:MIGRATE)` function is called (as it is on startup),
all migrations that have not yet been run are run within a transaction.

This includes one migration `1-init-schema.lisp`, which migrates the
database (idempotently) to the current state of the schema.

Change-Id: Id243a47763abea649784b12f25a6d05c2267381c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11253
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-03-31 19:22:05 +00:00
Aspen Smith
d5f57ac6e6 feat(3p/lisp): Add str package and dependencies
Change-Id: Iffb66f4580517b1dbfee8c79e766552508695e5f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11252
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: aspen <root@gws.fyi>
2024-03-31 19:18:12 +00:00
Aspen Smith
87d5dd6371 feat(aspen/system): Make battery index configurable
My new laptop has the battery at index 1, not index 0

Change-Id: I64fa16e7f0eecf6b623361645d73b1176e1e5d48
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11311
Tested-by: BuildkiteCI
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: aspen <root@gws.fyi>
2024-03-31 19:13:41 +00:00
Florian Klink
e0871efeaf chore(3p/nix-snapshotter): remove
The expression needs updating on our side to be compatible with the
nixpkgs bump in cl/11289. It wasn't used anywhere in TVL either.

This is also packaged in nixpkgs, since
f3ea5cfa6ec0a640735f4d6a0b5c91683c9bab25 / Feb 20 2024, so using it from
there feels reasonable.

Change-Id: Icd50ad959ca0de433b847180f1a5be308719f287
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11295
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: tazjin <tazjin@tvl.su>
2024-03-31 19:04:09 +00:00
Florian Klink
ade5567875 chore(tvix/boot): bump u-root
Bump to the latest u-root release. This seems to be compatible with go
1.22, too, which previously segfaulted the compiler in cl/11289.

Change-Id: Ie8a0d3cb51a435d6a0b194b38a9c83ee260618df
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11291
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-03-31 19:04:09 +00:00
Aspen Smith
4bfc23cb04 chore(aspen/system): More default module cleanup
Change-Id: I37bb2ea71d8dd07c7294b5c534fb3d4a834d98c1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11310
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Reviewed-by: aspen <root@gws.fyi>
2024-03-31 18:49:04 +00:00
Aspen Smith
0f59540158 chore(aspen/system): Don't install xonotic on every system
Change-Id: I664f97b2321625482ef64218b51c93ba28599643
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11309
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-03-31 18:49:04 +00:00
Aspen Smith
4cfbf8fa34 chore(aspen/system): Don't install games+obs on all machines
Only those that want them

Change-Id: Id1caf5e89f69c51a7da90ff2387a9384abbf4f91
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11308
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-03-31 18:37:31 +00:00
Aspen Smith
b69e2c22df chore(aspen/system): Don't setup kube stuff on every machine
Change-Id: Ib512c0a8b5c69b20c3fd21bd9bcdcf318702e272
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11307
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-03-31 18:36:30 +00:00
Aspen Smith
faec6ad45d chore(aspen/system): Update for deprecated home-manager option
Change-Id: I9b1a8c0cf10676a260b521dbc6a84179c386d772
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11306
Tested-by: BuildkiteCI
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: aspen <root@gws.fyi>
2024-03-31 18:34:29 +00:00
Aspen Smith
52a5c06e0c feat(aspen/system): Use space as vim leader
For the rare times I still occasionally use vim

Change-Id: Ie3059ab0ec5d5ace729e78b765f251d1fafdfac1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11305
Reviewed-by: aspen <root@gws.fyi>
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-03-31 18:34:29 +00:00
Aspen Smith
d959358e1f chore(aspen/system): Drop custom battery service in favor of upower
Change-Id: Ie3e5aeba7026724dacbe4d0dc15a1112a22c3670
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11304
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Reviewed-by: aspen <root@gws.fyi>
2024-03-31 18:34:29 +00:00
Aspen Smith
1dd378b0b8 fix(aspen/home): Remove ssh match block configuration
This is not necessary now that I'm using tailscale everywhere

Change-Id: I36d8060d4ad5f6955cd18c68b5fc667e64669004
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11303
Reviewed-by: aspen <root@gws.fyi>
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-03-31 18:33:28 +00:00
Aspen Smith
1cebb775f1 feat(aspen/system): Switch linux user login to aspen
Change-Id: I10369a20db3f1be92caf0bace94e8beb6af1dbaa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11302
Tested-by: BuildkiteCI
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: aspen <root@gws.fyi>
2024-03-31 18:33:28 +00:00
Aspen Smith
55ab8b1e6a fix(aspen/system): Remove buildkite agent on ogopogo
I never got this working

Change-Id: Iacb68a7d6d5fe1d1f1f390d09f106c4eb9a51b6a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11301
Reviewed-by: aspen <root@gws.fyi>
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-03-31 17:56:51 +00:00
Aspen Smith
9b6aee4b9e chore(aspen/web): Show's over
Change-Id: I9a0464f326f842895cf11a373c6c4f1a42546a3a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11300
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Autosubmit: aspen <root@gws.fyi>
2024-03-31 17:56:51 +00:00
Aspen Smith
f566f15dd9 chore(aspen/emacs): Scrub all result blocks
These are noisy, but more importantly I'm worried I might accidentally
commit a secret at some point

Change-Id: If6f2c358f2803af25ea27ef34d39c7f2108d4186
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11299
Reviewed-by: aspen <root@gws.fyi>
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-03-31 17:56:51 +00:00
Aspen Smith
a22a82c1a4 feat(aspen/emacs): Actually require tvl
Change-Id: I67be0eaa48c6b2a3df59fd4b384409c3952eff3a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11298
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-03-31 17:56:51 +00:00
Aspen Smith
d5acb178b2 feat(aspen/system): Always authorize my main ssh key
Change-Id: I42fc3887a0eb95404de29efba98dc26cb3f21aed
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11297
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Reviewed-by: aspen <root@gws.fyi>
2024-03-31 17:49:49 +00:00
Aspen Smith
5b43bd705a feat(aspen/emacs): Update from lusca
whatever dude

Change-Id: Ie0e01ccc49e82125d77dbf05fce5b1c53f630783
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11296
Reviewed-by: aspen <root@gws.fyi>
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-03-31 17:49:18 +00:00
Ryan Lahfa
8bccc9dca9 feat(tvix/eval): implement unsafeDiscardOutputDependency
This builtin only transforms any `NixContextElement::Derivation` into the trivial `NixContextElement::Plain`.

This is a forgetful functor on derivation-deep context strings.

The test coverage of this change is done in cl/11264.

Change-Id: Icd00778c97766be6db8a6bdabaa59e9724353ec5
Signed-off-by: Ryan Lahfa <tvl@lahfa.xyz>
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11262
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-03-31 12:40:49 +00:00
Ryan Lahfa
94185f7560 feat(tvix/eval): support Derivation context elements
Derivation that depends on `${d.drvPath}` generates a `NixContextElement::Derivation(drvPath)` context string.
In turn, this makes the dependent derivation depend on *ALL* outputs of that derivation.

Note that a dependency on `${d.drvPath}` generates an input source
dependency too.

This is a complete implementation of the context string system in Nix on
the "input population" side.

The test coverage of this change is taken care in cl/11264.

Change-Id: I97fe5f7c772a6b1cc4366bee071aa691a11fcde6
Signed-off-by: Ryan Lahfa <tvl@lahfa.xyz>
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11261
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-03-31 12:40:49 +00:00
Vincent Ambo
45925ea931 chore(tazjin/tgsa): bump all dependencies
Change-Id: Iddcee013e6d187f9a71329f0cccc6a0205aeb497
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11288
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-03-31 09:34:53 +00:00
Florian Klink
5081b84162 feat(users/picnoir): drop tvix-store crate usage
This is currently unused, and even if it would be used, it'd probably
be with `default-features = false`, explicitly enabling what's needed.

Change-Id: I3175a19adf8d65f0b805e5234267e460cd5e68d8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11287
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: picnoir picnoir <picnoir@alternativebit.fr>
Tested-by: BuildkiteCI
2024-03-29 19:00:07 +00:00
Florian Klink
0aaa27f0d2 feat(third_party/nixpkgs): init cbtemulator
This provides an emulator for Google Bigtable.

This has also been sent to nixpkgs in
https://github.com/NixOS/nixpkgs/pull/298044, and can be dropped (modulo
the patches) once we bump past it.

Change-Id: Id7809a02065ce479d6d29813d1de454cd230d2df
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11211
Tested-by: BuildkiteCI
Reviewed-by: Connor Brewster <cbrewster@hey.com>
2024-03-29 19:00:07 +00:00
Ryan Lahfa
b90c83972c feat(tvix/eval): non-implement unsafeDiscardOutputDependency
Nixpkgs make use of it and this is a 2.3 builtin that was missed.

Change-Id: If36d748eed4a5f777344556c0802392c76c8d53c
Signed-off-by: Ryan Lahfa <tvl@lahfa.xyz>
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11260
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-03-28 21:52:18 +00:00
Florian Klink
156a5a0fb6 refactor(tvix/glue): drop ingest_entries_sync
Make this function async, and do the block_on on the (single) callsite.

Change-Id: Ib8b0b54ab5370fe02ef95f38a45d8866868a9d60
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11285
Reviewed-by: Connor Brewster <cbrewster@hey.com>
Tested-by: BuildkiteCI
2024-03-28 21:17:20 +00:00
Florian Klink
bd32024047 refactor(tvix/glue): drop register_node_in_path_info_service_sync
Replace the (single) callsite with some code interacting with the tokio
runtime to block on the async version.

Change-Id: I3976496ae77b2bb8734603f303655834265e3f0a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11284
Tested-by: BuildkiteCI
Reviewed-by: Connor Brewster <cbrewster@hey.com>
2024-03-28 21:17:20 +00:00
Florian Klink
f1e6f98072 feat(tvix/glue/tvix_store_io): drop store_path_to_node_sync
Let's get rid of these sync helpers, they make this less understandable.

Change-Id: I3c7294647849db2747762722247c65e4e2947757
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11283
Reviewed-by: Connor Brewster <cbrewster@hey.com>
Tested-by: BuildkiteCI
2024-03-28 21:17:20 +00:00
Florian Klink
6e8046bec7 feat(tvix/castore/*service/tests): add objectstore to tests, sort
Change-Id: If3a45d2f8008b75524ead704b05320364cc60d92
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11282
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: Connor Brewster <cbrewster@hey.com>
Tested-by: BuildkiteCI
2024-03-28 21:15:01 +00:00
Florian Klink
508fcd65ee feat(tvix/castore/directoryservice): log more TODOs
We need to define behaviours and add tests for these.

Change-Id: Id5825fafbf47897d8de42503ea6006eb131b1082
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11281
Tested-by: BuildkiteCI
Reviewed-by: Connor Brewster <cbrewster@hey.com>
2024-03-28 07:58:10 +00:00
Florian Klink
74023a07a4 refactor(tvix/castore/*): drop utils.rs and grpc directorysvc tests
This drops pretty much all of castore/utils.rs.

There were only two things left in there, both a bit messy and only used
for tests:

Some `gen_*_service()` helper functions. These can be expressed by
`from_addr("memory://")`.

The other thing was some plumbing code to test the gRPC layer, by
exposing a in-memory implementation via gRPC, and then connecting to
that channel via a gRPC client again.

Previous CLs moved the connection setup code to
{directory,blob}service::tests::utils, close to where we exercise them,
the new rstest-based tests.

The tests interacting directly on the gRPC types are removed, all
scenarios that were in there show now be covered through the rstest ones
on the trait level.

Change-Id: I450ccccf983b4c62145a25d81c36a40846664814
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11223
Reviewed-by: Connor Brewster <cbrewster@hey.com>
Tested-by: BuildkiteCI
2024-03-28 07:58:10 +00:00
Florian Klink
05d3f21eaf refactor(tvix/store): drop proto/tests/{utils,grpc_pathinfoservice}.rs
As for grpc_pathinfoservice, we test this in the rstest-based tests,
with more implementations.
tests/utils.rs is unused now.

Change-Id: I62b192170d181e4fb432bf7dfff2057cb048b52c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11279
Reviewed-by: Connor Brewster <cbrewster@hey.com>
Tested-by: BuildkiteCI
2024-03-28 07:58:10 +00:00
Florian Klink
ea257589d3 refactor(tvix/store/pathinfo/from_addr): stop using gen_*_service
Remove usage of the gen_{blob,directory}_service() helper functions
from utils. We populate Memory{Blob,Directory}Services here directly, as
test_case and rstest doesn't compose well.

Change-Id: I0fb48aadb8c818f508b18ceb83c85eb91359442a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11278
Reviewed-by: Connor Brewster <cbrewster@hey.com>
Tested-by: BuildkiteCI
2024-03-28 07:58:10 +00:00
Florian Klink
1255916b5a refactor(tvix/pathinfo/grpc): use rstest fixtures
Change-Id: Ib114a4d141ca829520aed34600678d613994f875
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11277
Reviewed-by: Connor Brewster <cbrewster@hey.com>
Tested-by: BuildkiteCI
2024-03-28 07:58:10 +00:00
Florian Klink
024409bb90 refactor(tvix/store/tests/nar_renderer): use rstest fixtures
Change-Id: I975729cb97d69d080fb63fbb8f81b4ac46cbfb7f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11276
Reviewed-by: Connor Brewster <cbrewster@hey.com>
Tested-by: BuildkiteCI
2024-03-28 07:58:10 +00:00
Florian Klink
40f65b363f refactor(tvix/store/nar/renderer): don't require AsRef
Previous CLs ensured BlobService and DirectoryService is implemented on
AsRef<dyn BlobService> and AsRef<dyn DirectoryService> respectively, so
there's no need to require AsRef in here.

Change-Id: I1e8b93188ca784e1b9a592f3d35fcf6b9df75c75
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11275
Tested-by: BuildkiteCI
Reviewed-by: Connor Brewster <cbrewster@hey.com>
2024-03-28 07:58:10 +00:00