about summary refs log tree commit diff
path: root/third_party
AgeCommit message (Collapse)AuthorFilesLines
2020-11-22 r/1906 feat(tvix): Add a pos field to more expr classesGriffin Smith2-6/+14
To aid in both debugging and (eventually) printing stacktraces, add a Pos member to a few more Expr variants. Change-Id: Ic1d2a056fc7e6c07bc3e79fa38845cb4a5da5ca5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2133 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-11-21 r/1894 chore(3p): Bump nixpkgs to nixos-unstable from 2020-11-21Vincent Ambo13-70/+65
Included fixes for random breakage: * 3p/awscli: pick from the stable channel; it is broken on unstable * 3p/googletest: bumped version & removed patches that nixpkgs applies * 3p/lisp/cffi: bumped library version for SBCL compat * 3p/nix: fix libsystemd attribute * 3p/nix: reformatted (clang-format handling of ternaries changed) * glittershark/home: Use home-manager from nixkpgs * glittershark/kernel: bumped linux-ck patch hash * glittershark/kernel: removed "patch patch" * multi/whitby: Use home-manager from nixpkgs * tazjin/frog: drop Sourcetrail (it doesn't build currently) Note that in addition to these changes, some previous CLs updated the versions of git and cgit which was necessary for this channel bump, but which could not be done in the same commit due to the nature of the subtree merges. Change-Id: If2563e8a68e2750c4b913a976ff7b93b42e8b7f3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2110 Tested-by: BuildkiteCI Reviewed-by: multi <depot@in-addr.xyz> Reviewed-by: glittershark <grfn@gws.fyi>
2020-11-21 r/1892 fix(3p/cgit): Rename remaining 'sha1' references to 'oid'Vincent Ambo1-2/+2
This changed upstream & upstream-upstream, but was still used in our patches. Change-Id: Id33f868a4f188deb3348425276bc5b4c4b36aff9
2020-11-21 r/1891 merge(3p/cgit): subtree merge at adcc4f82Vincent Ambo26-135/+299
Change-Id: I16941629a17a2f39b9324cb85dc0cec6b104dfe4
2020-11-21 r/1890 merge(3p/git): Merge git subtree at v2.29.2Vincent Ambo1485-100645/+232762
This also bumps the stable nixpkgs to 20.09 as of 2020-11-21, because there is some breakage in the git build related to the netrc credentials helper which someone has taken care of in nixpkgs. The stable channel is not used for anything other than git, so this should be fine. Change-Id: I3575a19dab09e1e9556cf8231d717de9890484fb
2020-11-21 r/1889 merge(3p/absl): subtree merge of Abseil up to e19260fVincent Ambo854-5218/+11182
... notably, this includes Abseil's own StatusOr type, which conflicted with our implementation (that was taken from TensorFlow). Change-Id: Ie7d6764b64055caaeb8dc7b6b9d066291e6b538f
2020-11-21 r/1888 chore(tvix): Use StatusOr API available in Abseil's versionVincent Ambo4-8/+13
The Abseil version of `StatusOr` does not come with the status macros or the `Consume*` family of functions. This change modifies the existing code to use the common denominator of the API that is available between Abseil's own implementation of `StatusOr` and the one from Tensorflow that we are currently using. Change-Id: I5c37f68636a1fd54d153f95d7303ab8644abb774
2020-11-19 r/1886 fix(tvix): Use copy constructor to add strings to protosGriffin Smith2-1/+29
Passing a string directly to add_paths like this causes the proto class to take ownership over the string, meaning when it is destructed it will *explicitly* free the string. When the string's actual owner (the derivation struct) then goes out of scope it'll get freed again, causing a double-free. This fixes that to instead use the copy constructor to assign to a pointer to a new path, and covers the whole to_proto method with a rapidcheck test. Fixes: b/64 Change-Id: I84235bed9104ff430a0acf686d4a96f1e2e9a897 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2106 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-11-19 r/1885 fix(tvix): Use mutable field for assigning proto fieldsGriffin Smith1-2/+2
This was accidentally using the proto arena API to assign the derivation field of a BuildDerivationRequest. We *thought* this was causing a double free, but even with this change that's still happening. That said, this change is probably still a good idea since it's using the proto API as intended. References: b/64 Change-Id: I950a4eafb214e9113639ea54d2dfd4659b7be931 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2104 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-11-08 r/1874 feat(3p/irccat): init at '06a985y4'Vincent Ambo1-0/+16
This is to be used for forwarding messages to our IRC channels. Change-Id: I6362c6f50a22f504588a7161d41a170f4e7a6edc Reviewed-on: https://cl.tvl.fyi/c/depot/+/2073 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-11-08 r/1872 chore(3p/exwm): Update derivation to build local sourcesVincent Ambo2-13/+7
... this should also update my system EXWM. Change-Id: Idfbbda67613ac678dc2d5f82533e1c6176ab4a28 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2072 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-11-08 r/1871 chore(3p/emacs/exwm): Import from commit ↵Vincent Ambo16-0/+8567
'0368127976bda29d35eed788edfe74644ecd3845' Imported from https://github.com/ch11ng/exwm/commit/0368127976bda29d35eed788edfe74644ecd3845 git-subtree-dir: third_party/emacs/exwm git-subtree-mainline: e84f9ef0adb48db610fd06d6ff75edd073712a90 git-subtree-split: 0368127976bda29d35eed788edfe74644ecd3845 Change-Id: Id3af5610254180f42947d71265aad89def7c6a3d
2020-09-23 r/1813 chore(3p/rr): Upgrade to latest master with Zen workaroundsVincent Ambo2-50/+12
* bumps to HEAD of master * include the zen_workaround script in the drv output Change-Id: I8f5f33a61b9395295c02f3ea5e930a81b3ffa7ac Reviewed-on: https://cl.tvl.fyi/c/depot/+/1990 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: glittershark <grfn@gws.fyi>
2020-09-16 r/1795 fix(tvix): Convert INVALID_ARGUMENT to InvalidPathGriffin Smith1-2/+6
The code that calls queryPathInfoUncached explicitly catches the InvalidPath exception and translates it into a null result - but the RPC code was throwing a regular old Error for invalid paths. At some point we should get rid of all the exception-driven control flow in this whole thing, but in the meantime this gets us back to functional. Change-Id: I2a38790ee0c691ab0c8394c7738d7693fa42aa10 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1980 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-09-15 r/1794 refactor(3p/tvix): make Value.primOp a std::shared_ptrKane York2-4/+3
Change-Id: I04cc42ae62d2ff71b07fde8e3710dcc9b4363a05 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1973 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-15 r/1793 fix(3p/tvix): properly zero the largest member of ValueKane York1-1/+4
The static_assert is present to force us to change the constructor when a member grows. Change-Id: Ifa4f4a03eb7ce13cff109cf26ecf0032045905e9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1972 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-09-15 r/1792 refactor(3p/tvix): convert NixList usage to shared_ptrKane York4-12/+12
Starting to reclaim memory. Fairly simple mechanical replacement. Change-Id: I6b4c5c5596729470d1a049eba61e69e8097decf4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1971 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-09-14 r/1791 refactor(tvix): Make static strings constexpr string_viewsGriffin Smith8-42/+46
Make all static std::strings constexpr std::string_views, and replace concatenation with absl::StrCat where necessary. Technically all of these are constant, so they really don't need to be top-level statics - and since I'm trying to get rid of as much global state as possible in preparation for making the nix daemon properly multithreaded I figured I'd knock these out while I was at it. Change-Id: Ibd3ad9ef68f0a0eacb135541b39fdb13dae042e1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1939 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-10 r/1783 refactor(tvix): Convert refLength to constexprGriffin Smith1-9/+9
This is constant, so let's make it a constexpr. Change-Id: I6a9eb9f740979740f730ebe142d2cbf23dbcfd70 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1961 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-09-10 r/1782 fix(tvix): Make working flag thread_localGriffin Smith1-5/+4
Since the daemon is running in threads now rather than forking a process per connection (thanks to grpc) this static flag to prevent accidentally initializing a new worker during a build is getting stepped on by multiple threads. This converts it to thread-local, and also adds an actual message to the check so that if it hits in the future we know what's going on. Fixes: b/58 Change-Id: I07a2f1582e56709c104f79935e5405fa24888f59 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1940 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: V <v@anomalous.eu>
2020-09-06 r/1771 chore(tvix): dontStrip tvix buildGriffin Smith1-0/+3
This is mostly to help in tracing through the core dumps for b/58, but is also generally a good idea while we're still in hardcore debugging-mode. Fixes: b/63 Change-Id: Ib816a2a98bf3b8afa6e8b255a74ccb93af6508c5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1937 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-09-06 r/1770 feat(tvix): Implement EnsurePath RPC handlerGriffin Smith1-0/+13
Missed this one Fixes: b/62 Change-Id: I6f3bbcd3e2a7db5786283761b57466da33a497f7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1936 Reviewed-by: kanepyork <rikingcoding@gmail.com> Tested-by: BuildkiteCI
2020-09-06 r/1768 revert(tvix): "Disable sandboxing by default until its time comes"Griffin Smith1-8/+15
This reverts commit a41c3dedb18201aa689206079e203f41c9bef389. Reason for revert: I believe its time has come. Change-Id: I4133dc8a3b57b40b280646d1622ed7a0409c5246 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1941 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-09-06 r/1767 feat(tvix): Write even more build logs to clientGriffin Smith1-89/+84
Write *all* build logs (essentially everything that wasn't a DLOG), not just the stdout of the builder, to the client-bound log_sink_ that's threaded through build.cc. These logs are significantly more useful on the client, both when debugging tvix itself and (more importantly) when building things with it. To make this all work, this commit also refactors the passing-around of the log sink in build.cc slightly - the main reference is now owned by the Worker class, which already stores pointers to itself on the Goals it creates, so those Goals can then load the log sink from the Worker. This change was originally made to allow for logging to the log_sink from instance methods of the worker, but actually feels significantly more natural than storing the sink on the goal anyway. Change-Id: I461685bc7f5c0a326054940ac5971b568dd43f8e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1925 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-01 r/1758 refactor(tvix): Remove default buildMode arguments from libstoreGriffin Smith1-4/+4
These were not used anyway, and *may* have been causing a weird series of problems leading to things sometimes aborting. Or maybe it has nothing to do with it - the only correlation we've found is from disassembling the output of a core dump. Regardless, this feels stylistically like a good idea. Change-Id: I288b50945e74ea90c118a21767fa4387c9f47f7d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1921 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-09-01 r/1757 feat(tvix): Print "Tvix" in the version stringGriffin Smith1-1/+1
Rather than printing "Nix" in the version string, print "Tvix". This is cosmetically nice, but also is very useful when making sure I actually have installed tvix on a system successfully. Change-Id: Idd1a9954bd66509327f52b7457cfba2f090ab30c Reviewed-on: https://cl.tvl.fyi/c/depot/+/1924 Reviewed-by: kanepyork <rikingcoding@gmail.com> Tested-by: BuildkiteCI
2020-09-01 r/1756 refactor(tvix): getEnv(): Return std::optionalEelco Dolstra17-66/+66
This allows distinguishing between an empty value and no value. Patch ported from upstream at https://github.com/NixOS/nix/commit/ba87b08f8529e4d9f8c58d8c625152058ceadb75 Change-Id: I061cc8e16b1a7a0341adfc3b0edca1c0c51d5c97 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1884 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-09-01 r/1755 feat(tvix): Support systemd socket activationGriffin Smith3-14/+85
When the nix daemon starts up, first check (using sd_listen_fds) whether we have been systemd socket-activated. If so, instead of passing the nix daemon socket path to grpc, start a manual accept(2) loop, passing the client file descriptors to grpc via AddInsecureChannelFromFd. There's an open grpc issue at https://github.com/grpc/grpc/issues/19133 for building support into grpc to do this automatically, but as of right now this appears to be the only way to make this happen. Making this happen, by the way, was a bit of a journey - at one point I attempted to ServerBuilder's experimental AddExternalConnectionAcceptor API, and that didn't work either - it appears that the final missing piece to getting this working was explicitly fcntl(2)ing the client file descriptors to set O_NONBLOCK before passing them into gRPC. With that set, this all works inside of the test vm. Fixes: b/56 Change-Id: I5d2ab2b5b02eb570249b30a9674e115c61b0ab0e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1882 Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-09-01 r/1754 feat(tvix): Expose depot in the test vmGriffin Smith1-0/+4
Expose depot to the test vm via NIX_PATH, so we can test the build of depot packages from inside the test vm. Change-Id: I26314634895ab1339f5715c0b0b261028eefdaa3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1923 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-08-31 r/1745 chore(tvix): Add riking to ownersGriffin Smith1-0/+1
Change-Id: Icefafe6967cb83a43c9e417a29ce8cc97fb3432d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1892 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <mail@tazj.in>
2020-08-31 r/1744 refactor(tvix): Drop meson.build filesGriffin Smith6-157/+0
These are unused, and I'm not sure they ever actually worked. Change-Id: I6bb6b4257b7815932581ded7929437dba80961c9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1885 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <mail@tazj.in>
2020-08-30 r/1740 fix(tvix): localstatedir should be /nix/varGriffin Smith1-1/+1
The various bits (including the unix socket that we listen on) append /nix to this - so it isn't expected to be in there. Change-Id: I0d95f2cc5641f610c1bdb03b036fac61dac9842d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1890 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-08-30 r/1739 feat(tvix): Install profile scripts into the outputGriffin Smith1-0/+6
The nix package is expected to install /etc/profile.d/nix.sh and /etc/profile.d/nix-daemon.sh into its output - these set the environment variables expected by the client-side nix user commands, eg NIX_DAEMON. Fixes: b/52 Change-Id: I5fb964c076f092d0ef7e1d49aca37875c866fb90 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1889 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-08-29 r/1736 fix(tvix): Chunk the AddTextToStore requestGriffin Smith3-16/+65
Rather than sending the entire AddTextToStore request along in a single message, send it in a stream of chunks using the same metadata-first approach we've been using for the other store gRPC requests. This fixes a bug where certain builds could send more data than the maximum gRPC request size (4194304 bytes, it would appear), resulting in a RESOURCE_EXHAUSTED error. The initial chunk size, which is currently constant but should be made dynamic at some point in the future, has been chosen based on the IPC bandwidth delay product for tazjin's desktop, rounded up. Change-Id: I6f0232cdbc98653484816b39855126873fc59a03 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1835 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-29 r/1735 feat(tvix): Add scripts for local nix daemon testingGriffin Smith5-0/+105
These are the scripts I use to test the nix daemon interaction with a non-/nix store directory during development, copied almost verbatim from my cmake build directory. As such, there's likely a *lot* of cleanup and deduplication to be done here, but I'm committing these as is in the hope that others can benefit from them somehow. Change-Id: I42a10a85e6731fa2014c7ea9738224d678a8376b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1881 Reviewed-by: kanepyork <rikingcoding@gmail.com> Tested-by: BuildkiteCI
2020-08-28 r/1728 revert(glittershark): "Temporarily skip grfn's subtree"Griffin Smith2-0/+28
This reverts commit 475d41f698415919093ca98f676ffcda218093ac. I'd like my derivations back, please. Changes necessary to get this working: - Don't depend on `nixpkgs` being in the NIX_PATH for my website - it's not necessary anyway since emacs 27 is mainline now - .skip-subtrees on things that shouldn't be evaluated anyway - Get rid of system/pkgs, and move the one thing in there that *wasn't* already in third_party (alsi) to third_party - Drop notifymuch for now - it's not working, and I'll probably get it landed in nixpkgs before I manage to get it working - Add __readTree = true to my systems so they get built. - explicitly disable ci for xanthous, which is failing to build and had been omitted previously Change-Id: I20f5e81d6eb7ffe040091a08d75d0cb15304f707 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1864 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-08-28 r/1727 fix(tvix): Pass all args when auto-calling a function with an ellipsisGriffin Smith2-9/+21
The command line options --arg and --argstr that are used by a bunch of CLI commands to pass arguments to top-level functions in files go through the same code-path as auto-calling top-level functions with their default arguments - this, however, was only passing the arguments that were *explicitly* mentioned in the formals of the function - in the case of an as-pattern with an ellipsis (eg args @ { ... }) extra passed arguments would get omitted. This fixes that to instead pass *all* specified auto args in the case that our function has an ellipsis. Submitted upstream at https://github.com/NixOS/nix/pull/3965 Fixes: #46 Change-Id: I32b7ee0e5bacf75b2bc43a3f0796f533f4bd5959 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1863 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-08-28 r/1726 refactor(tvix): Clean up MixEvalArgs internalsGriffin Smith2-13/+23
Previously, MixEvalArgs (a generic data type used to handle --arg, --argstr, and -I arguments to `nix-build`, `nix eval`, etc.) was storing the difference between --arg and --argstr by prepending a single character (either 'E' or 'S') to the value of the arg. This is messy and un-type-safe, so this commit refactors that to use a proper enum and a std::pair, which allows us to add a switch and get totality checking. yay, types! Change-Id: I883f8db3136d05dda190fac0a1b494386c2ff87b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1862 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-08-26 r/1722 fix(3p/haskell_overlay): Fix imports and remove unused fileVincent Ambo2-50/+1
Change-Id: I1973bc1b11442dc8150c3b07bd06a6f94c4c4380 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1851 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-26 r/1721 chore: Add meta.ci=false to various broken projectsVincent Ambo3-0/+7
These projects, which are not currently included in CI runs, don't build at the moment. Upcoming logic changes would mean that we would start including them in CI, which is undesirable until they're fixed - but I'm not going to be doing that now. Change-Id: I7c337e098be8bff00db6d99fc7236a695f5a85f5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1850 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-26 r/1717 chore(third_party): Skip subtrees of large external projectsVincent Ambo3-0/+3
Change-Id: Icef3900f9d1e55fd15c5286a794293368c33492c Reviewed-on: https://cl.tvl.fyi/c/depot/+/1846 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-23 r/1704 refactor(tvix/libutil): Mark single-argument constructors explicitVincent Ambo34-274/+311
This is the clang-tidy lint 'google-explicit-constructor'. There's a whole bunch of breakage that was introduced by this, and we had to opt out a few types of this (esp. the string formatting crap). In some cases minor other changes have been done to keep the code working, instead of converting between types (e.g. an explicit comparison operator implementation for nix::Pid). Change-Id: I12e1ca51a6bc2c882dba81a2526b9729d26988e7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1832 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-21 r/1703 style(tvix): Add missing braces in expressionsVincent Ambo16-72/+132
The previous clang-tidy invocation missed some header files, which has now been rectified. Change-Id: I31547754fbf52f439dc7aeefb08ab90bd50c4156 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1831 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-08-21 r/1702 style(tvix): Replace remaining typedefs with using statementsVincent Ambo16-45/+48
Change (mostly) created via: fd . -e hh -e cc | parallel clang-tidy -p ~/builds/nix --fix "'--checks=-*,modernize-use-using'" Change-Id: I90ad6e64a5399f2005dfb9956074ec51c2c78cea Reviewed-on: https://cl.tvl.fyi/c/depot/+/1830 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-21 r/1699 fix(tvix): Add newlines to build logsVincent Ambo1-2/+2
.. turns out producing an entire build log on a single line is not useful. This does not use `<< std::endl` because we have run into buffering issues with the implementation of the logs->gRPC sink, but intend to replace this in the future using a structured sink for BuildEvent protos rather than a raw stream. Change-Id: Ia9b05fa804391d389e2ef53ab4436c0ec5cc452e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1828 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-08-21 r/1698 refactor(tvix): Replace several DiscardLogsSink() with std::cerrVincent Ambo7-24/+15
Introduces the actual log sink in several places where we actually want the build logs to thread through correctly. This should cover *most* build paths. Change-Id: I735dff8a79f7e35a5874eb89b4abb980f9703dc2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1827 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-08-21 r/1697 feat(tvix): Write build logs into the build log sinkVincent Ambo1-3/+4
This *should* wire up the builder's logs all the way back through the gRPC client, where they are then conveniently discarded. Change-Id: I65f22526d0b5a8b8d90f28665bc1b4bc7f7c802a Reviewed-on: https://cl.tvl.fyi/c/depot/+/1825 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-08-21 r/1696 chore(tvix): Thread std::ostream through builder goalsVincent Ambo1-42/+66
This passes an output stream for build logs to almost all relevant functions inside of build.cc by threading it through the `Goal`-abstraction. Store calls that create goals but don't have a sink available use the DiscardLogsSink(). Change-Id: I2c0cb1aec1f9150f33113f4752055cea518ede8b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1824 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-08-21 r/1695 chore(tvix): Add TODO comment for std::ostream in buildDerivationVincent Ambo1-0/+1
Change-Id: I1e3b6abd4606d86f00ddaa8e2a1809f51e27126d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1823 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-21 r/1694 style(tvix): Move a comment to fix a formatting issueVincent Ambo1-4/+3
Change-Id: Idd490b978c07d1b1113ee97b5d19719a27436fba Reviewed-on: https://cl.tvl.fyi/c/depot/+/1822 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>