about summary refs log tree commit diff
path: root/tvix/utils.nix
AgeCommit message (Collapse)AuthorFilesLines
2024-10-27 r/8866 fix(tvix/shell): fix shell on MacOSFlorian Klink1-1/+1
runc is not available on MacOS, we only want to include it in the shell if on Linux. Point TVIX_BUILD_SANDBOX_SHELL to /bin/sh if not on Linux. While we cannot use the OCI/runc executor on MacOS, other implementations might make use of this env var, so it's good to keep setting it. Also update the other occurence of it, in tvix/utils.nix. Change-Id: If7b47e1bb7c41bbde84c93016713754a252c4355 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12691 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Tested-by: BuildkiteCI
2024-10-01 r/8744 feat(tvix/build), add OciBuildService, the old wayFlorian Klink1-0/+1
This is just patchset 10 of CL10855, before the color_eyre changes, rebased to the tvix_castore api. Change-Id: If4b42412ff8568058908cda971ad7d6f2d9f9b7b --- This provides a build service invoking runc. It can be used by using the `oci://$path_to_some_tempdir` builder URL for now. For now, it can be tested as such: ``` BUILD_SERVICE_ADDR=oci://$PWD/bundles target/debug/tvix let pkgs = (import <nixpkgs> {}); in builtins.readDir pkgs.perl ``` readDir is to actually trigger IO into the store path (which triggers the builds). For now it fails due to missing reference scanning (see followup CLs). Change-Id: I09b40e410114ce69966a41a0e3c33281b859e443 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12526 Autosubmit: yuka <yuka@yuka.dev> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2024-08-30 r/8613 fix(tvix/utils): Add missing src filtering for nix-compat-derive[-tests]Ilan Joselevich1-1/+10
Change-Id: I2beed2cdcb5423d3594562e0011b1cb889add07f Reviewed-on: https://cl.tvl.fyi/c/depot/+/12390 Reviewed-by: flokli <flokli@flokli.de> Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com> Tested-by: BuildkiteCI
2024-08-23 r/8565 feat(tvix/utils): Add mkCrate2nixCheckIlan Joselevich1-1/+24
This adds a function which can be used across the monorepo to create a an extra CI step that checks whether the Cargo.nix file is up-to-date. Change-Id: Idb8298b29ddc2ca5dff1facb1b9ed86a236ee66d Reviewed-on: https://cl.tvl.fyi/c/depot/+/12227 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2024-07-30 r/8431 fix(tvix/nar-bridge): filter src in utils.nixIlan Joselevich1-0/+4
Change-Id: I3c8956a50ecdcc53f882fb46ffdc221dd1515b1a Reviewed-on: https://cl.tvl.fyi/c/depot/+/12066 Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2024-07-07 r/8355 fix(tvix/repl): Share globals and sourcemap across evaluationsAspen Smith1-1/+4
Now that we can bind (potentially lazy, potentially lambda-containing) values in the REPL and then reference them in subsequent evaluations, it's important that the values to which we construct shared references are shared across those subsequent evaluations - otherwise, we get panics due to unknown source map locations, or dropped weak references to globals. This change assigns both the globals and the source map as fields on the Repl after the first evaluation, and then passes those in (to the EvaluationBuilder) on subsequent evaluations. On the EvaluationBuilder side, there's some panicking introduced - this is intentional, as my intent is for the builder to be configured statically enough that panicking is the best way to report errors here (it's always a bug to misconfigure an Evaluation, and we'd never want to handle it dynamically). Change-Id: I37225697235c22b683ca48a17d30fa8fedd12d1b Reviewed-on: https://cl.tvl.fyi/c/depot/+/11960 Reviewed-by: flokli <flokli@flokli.de> Autosubmit: aspen <root@gws.fyi> Tested-by: BuildkiteCI
2024-07-05 r/8348 feat(tvix/utils): Add defaultCrateOverridesForPkgs functionIlan Joselevich1-0/+77
This function can be reused across the rest of the repo to make use of our overriden defaultCrateOverrides with support for tvix crates. Change-Id: I8c554dece052bd9dd32acac13dab8114933272a7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11951 Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2024-07-05 r/8347 fix(tvix/utils): Optionally add support for Cargo in filterRustCrateSrcIlan Joselevich1-4/+6
Previously we would unconditionally add Cargo.toml to the fileset. We mostly use buildRustCrate in tvix so it does not make sense to add it by default, instead I made it so you enable cargoSupport if you want Cargo.{toml,lock} to be added to the fileset. Change-Id: I5a6016534fc5599e85ab581fe3d9b81e7a24f940 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11950 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com>
2024-06-17 r/8293 chore(tvix): move filterRustCrateSrc to utils.nixIlan Joselevich1-0/+19
Change-Id: Ib6bae1ea0457d3309a6ec1e08b9e4b320523c161 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11857 Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com> Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2024-06-03 r/8211 feat(tvix): add CI targets for checking crate features powersetIlan Joselevich1-0/+23
Closes: https://b.tvl.fyi/issues/401 With this change all crate features (and their combinations) will be built and tested in CI. From now on, when adding/removing a Cargo feature for a crate, you will want to add it to the features power set that gets tested in CI. For each crate there's a default.nix with a `mkFeaturePowerset` invocation, modify the list to include/remove the feature. Note that you don't want to add "collection" features, such as `fs` for tvix-[ca]store or `default`. Change-Id: I966dde1413d057770787da3296cce9c1924570e0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11717 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI