about summary refs log tree commit diff
path: root/third_party
AgeCommit message (Collapse)AuthorFilesLines
2020-08-20 r/1689 chore(tvix): Thread a std::ostream through Store::buildPathsVincent Ambo15-43/+63
This part of the store API needs to carry a handle to the log sink from now on, so that it can be passed in as appropriate from the gRPC handlers. In all places where there is no such handler available at the moment, the discarding log sink has been inserted. This can be used as a convenient grep target in the future. Change-Id: I26628e30b4c6437dccdf8f722ca2e8ed827dfc19 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1797 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-20 r/1688 style(tvix): typedef -> using in build.cc/store-api.hhVincent Ambo2-18/+17
this shuts up a few lints ... Change-Id: I51ee9418767e97247f98b170cdad137e5b12b44d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1796 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-20 r/1687 refactor(tvix): Remove some default values from virtual methodsVincent Ambo2-6/+18
This is not actually legal code, but it kind of ... works. There are more of these around, these were just the ones Griffin stumbled upon while working on the build logs. Change-Id: Iff9821d8fe145dd426648a8ff4510a73f67c9b7d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1795 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-20 r/1686 feat(tvix): Implement std::streambuf for a build log -> gRPC sinkGriffin Smith1-0/+18
Introduces a class which implements std::streambuf by sending build log lines to the provided gRPC stream writer as individual messages. This can be used in the implementations of calls which trigger builds to forward logs back to the clients. Change-Id: I3cecba2219cc24d56692056079c7d7e4e0fc1e2c Reviewed-on: https://cl.tvl.fyi/c/depot/+/1794 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-20 r/1685 feat(tvix): Introduce build event streams in worker protocolVincent Ambo5-25/+92
Introduces a new `BuildEvent` proto type which is streamed in response to calls that trigger builds of derivations. This type can currently supply build statuses, log lines and information about builds starting. This is in preparation for threading build logs through the processes. Since we have nowhere to send the logs (yet), a null sink is used instead. Co-authored-by: Griffin Smith <grfn@gws.fyi> Change-Id: If7332337b89506c7e404cd20174acdaa1a3be4e8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1793 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-20 r/1684 feat(tvix): Add a no-op stream buffer for discarding build logsVincent Ambo2-0/+19
In some cases we don't have anywhere for the build logs to go. Until we understand those cases fully and can get rid of them, this null sink implementation can be used. Change-Id: Ib93c43caf268e2c01c43d59737a829e8c43d223e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1792 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-19 r/1682 chore(3p/loxy): add OWNERSedef1-0/+3
Change-Id: I054711b07307ce9c0b3ce0f85319e58616db3639 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1790 Tested-by: BuildkiteCI Reviewed-by: V <v@anomalous.eu> Reviewed-by: tazjin <mail@tazj.in>
2020-08-19 r/1681 feat(tools/tvlc): init projectKane York1-0/+1
tvlc is a tool for managing sparse git worktrees of the TVL depot. It is still in development; near-term tasks include a setup script, Nix dependency resolution, worktree removal, and the dispatch script. See cs.tvl.fyi/depot/docs/designs/SPARSE_CHECKOUTS.md for more info. Change-Id: Iad96656f0206178980fe7dcadd3dffe70d690f8f Reviewed-on: https://cl.tvl.fyi/c/depot/+/1760 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-08-18 r/1676 revert(3p/loxy): Add link to source repositorykanepyork1-1/+0
This reverts commit 4d113ae9f91acd167e4ab739025911ead66b7f2a. Reason for revert: Source repository link has been added to the homepage Change-Id: I21667fab928621ba8973c8598d01920ecbf512ef Reviewed-on: https://cl.tvl.fyi/c/depot/+/1801 Reviewed-by: lukegb <lukegb@tvl.fyi> Tested-by: BuildkiteCI
2020-08-18 r/1675 chore(3p/emacs): Enable cairo for Emacs 27.1Vincent Ambo1-1/+4
... this in turn enables support for Harfbuzz, which enables support for ligatures - maybe this will make grfn happy! Change-Id: I331c5171a829800fe532ca0b0d4910478e63ef1b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1783 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-08-18 r/1674 fix(tvix/config): properly handle nonexistent config filesKane York1-2/+7
If the global nix config, or any available user nix config location, does not exist, then the loadConfFile() function will throw and not finish initalizing the Nix configuration. Change-Id: I6db83bca54d9b66699356d107720603476e32c23 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1657 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-18 r/1673 feat(tvix): Re-enable language tests that needed a storeKane York14-9/+59
Now that we have access to a store in tests, we can enable the tests that needed a store. Additionally, move the expected output files for disabled tests into the disabled folder. Change-Id: I2492d49d43b93c7c9b0463e4d3d2855a5a51365d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1758 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-18 r/1672 chore(tvix/tests): port upstream add.sh testKane York1-0/+30
Change-Id: I5151d142d6b2b7f1df37b170b0160b8f77a89120 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1755 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-18 r/1671 chore(tvix/tests): Add OpenTemporaryStore() helperKane York2-7/+74
Change-Id: Ia655175c255f9cf5a47e4e7a20373a4ba4315ed9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1753 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-17 r/1665 chore(3p): Provide Emacs 27.1Vincent Ambo1-0/+9
This is now available in the upstream channel, and I need it on one machine for $reasons. Normally the Emacs attribute is versioned to make it clear which version we're dealing with, but not in this case. I've added an assert to check that it is indeed 27. Change-Id: I827df0d36350066bf4e177150d32af0c8d123b9b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1764 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-17 r/1662 chore(3p): Bump nixos-unstable channelVincent Ambo2-3/+5
This bumps the channel to a commit that includes fixes for an nginx issue we have been seeing: https://github.com/NixOS/nixpkgs/pull/95264 Includes the following compatibility fixes: - tests disabled in third_party.bufbuild: These were enabled unexpectedly by the update, but don't run in the sandbox because they want to download things from github Change-Id: I98a3b5de57f62f1fd3a37701fa1896eddeedff85 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1759 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in>
2020-08-17 r/1659 chore(3p/loxy): Add link to source repositoryVincent Ambo1-0/+1
This is not obvious otherwise. Change-Id: Ic07993a58e545345dae4529d281d6fdae35c19aa Reviewed-on: https://cl.tvl.fyi/c/depot/+/1761 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-17 r/1658 refactor(tvix): always pass Bindings by ptr, use shared/unique_ptrKane York22-103/+125
Value now carries a shared_ptr<Bindings>, and all Bindings constructors return a unique_ptr<Bindings>. The test that wanted to compare two Bindings by putting them into Values has been modified to use the new Equal() method on Bindings (extracted from EvalState). Change-Id: I8dfb60e65fdabb717e3b3e5d56d5b3fc82f70883 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1744 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in>
2020-08-17 r/1657 refactor(tvix): add explicit copy/move constructors for ValueKane York3-0/+129
This is in preparation for making some of Value's members into refcounted ('smart') pointers. Change-Id: Ibc54e23ac35766a2fd4e14871c9a7c936a603778 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1743 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-15 r/1656 chore(3p): Remove telega derivationVincent Ambo1-22/+0
The upstream telega.el derivation (under emacsPackages) now includes the server component. Change-Id: I49d85ea16d2fce10a505e2459fcd396706e39923 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1748 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-15 r/1655 fix(tvix): Ensure prim_sort actually uses the right outlistVincent Ambo2-4/+5
Previously the outlist would not be used, and it would sort god knows what in the out value. This was probably introduced by the std::vector refactoring, and the language test for builtins.sort was disabled. Whatever reason there was for disabling it seems to be gone, so we're re-enabling it. Change-Id: I98941c2cad78df58ff7bea1ece3aaa4133e94bf8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1757 Reviewed-by: kanepyork <rikingcoding@gmail.com> Tested-by: BuildkiteCI
2020-08-15 r/1654 feat(tvix/tests): add gtest matchers for absl::StatusKane York1-0/+83
This allows you to write EXPECT_OK(statusor), as well as EXPECT_THAT(status, IsStatusCode(StatusCode::kInvalidArgument). Change-Id: I53bed694d812c501eb305ed4ddb358e1f9a68277 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1704 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-15 r/1652 chore(3p): Pick Emacs & friends from the default channelVincent Ambo1-9/+6
I had previously pinned Emacs to the (older) stable channel, because of a heretofore undiagnosed issue in newer versions. It turns out that the older Emacs is linking against X11-related libraries, namely <unintelligible>, which cause even *weirder* undiagnosed issues if paired with the rest of the recent packages. This commit removes the exception for Emacs and just picks it from the same channel as everything else. Change-Id: Ifce21c99f0204d4cf131bacb366dd9617fc301b8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1751 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-08-14 r/1649 refactor(tvix): Make Store::buildPaths return a StatusGriffin Smith18-32/+137
Make Store::buildPaths return a Status with [[nodiscard]] rather than throwing exceptions to signal failure. This is the beginning of a long road to refactor the entire store API to be status/statusor based instead of using exceptions. Change-Id: I2e32371c95a25b87ad129987c217d49c6d6e0c85 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1745 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-14 r/1647 fix(tvix): use correct value of SANDBOX_SHELLKane York1-1/+2
Change-Id: I8e471c0f0a30337681042beeff633821eee67346 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1746 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-14 r/1646 refactor(tvix): completely remove boehm gcKane York15-170/+51
We have decided that leaking memory is a better fate than random, non-debuggable memory corruption. Future CLs will begin changing various fields to std::unique_ptr and std::shared_ptr. It turns out that disabling the GC does not have disasterous impact. The Nix evaluator only runs on the client CLI, never in any long- running process. Even the REPL does not leak too badly under this change, because it uses one EvalState for the duration of the REPL. Building an explicitly tracing garbage collector is likely in the future of this project, but that giant amount of work cannot be done under a nix evaluator that is constantly crashing. We need to restore development velocity here, and this is the best way we've figured out to do it. Change-Id: I2fcda8fcee853c15a9a5e22eca7c5a784bc2bf76 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1720 Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-08-13 r/1642 refactor(tvix): Very minor lint fixesVincent Ambo2-3/+4
Change-Id: I4aca504d98c79f931b7faadff86f40d27ed5a2c5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1719 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-10 r/1633 fix(3p/nix): inherit Expr from gc, make parser state traceableKane York4-40/+56
The parser contained vectors, and the primary parser state, that were not participating in GC tracing. Change-Id: Ie198592cd7acffd390e3e2ae9595138b56416838 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1706 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-10 r/1632 style(tvix): Sort out minor formatting errorsVincent Ambo6-16/+16
Invocations of the MakeError macro that were not followed by a semicolon messed up indentation in the next lines. Change-Id: I03d7d1443f062a38af2c7da3da8928e0ed05e274 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1708 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-10 r/1631 fix(tvix): Print invalid store path when encounteredVincent Ambo1-3/+2
... instead of silently swallowing it. Change-Id: I084c51d633d632bd4e3f1ca42987dd6068fbb2a9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1707 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2020-08-09 r/1627 test(tvix): Cover scanForReferences in a testGriffin Smith6-5/+98
Aded a few test cases covering the scanForReferences function, which had been accidentally broken in 976a36c (which is now partially-reverted). As part of this, since the test needed to generate hashes for store paths, the logic in MakeStorePath to compress a sha256 hash down to 20 bytes and convert it to base32 has been extracted to a member function on the Hash class. Fixes: #34 Change-Id: Ie2d914688a80f42d0234d351a7cc0714fd15709e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1698 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-09 r/1624 fix(tvix): Make nix value structs inherit from GCGriffin Smith1-5/+5
All of the miscellanious structs that make up a nix Value should inherit from gc, as they contain pointers to GC'ed things as members Fixes: #42 Change-Id: I057d8c9f7dafbee7de7644ff152c9cba1aa6bc03 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1696 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-09 r/1623 refactor(tvix): Remove UDSRemoteStoreGriffin Smith2-76/+0
Now that we've fully implemented the RPC-based store client, we can get rid of the UDSRemoteStore, whose only use was connecting to the locally running nix daemon. The RemoteStore still needs to be around to connect to remote upstream nix stores over SSH. Change-Id: I0699819803cbfe966b9a46786f2c927d8e4bf1a2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1693 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-09 r/1622 feat(tvix): Implement all remaining RPC callsGriffin Smith8-49/+158
Implement all remaining RPC calls on the RpcSstore client, remove a few stub methods we had added that weren't actually present in the old RemoteStore implementation, and add one more RPC call for getBuildLog that is present in the store API, but that we hadn't added as a stub *or* to the proto. Fixes: #29 Change-Id: Id827f51a393ece4bc7bbecaf38aee9eb4b329770 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1692 Reviewed-by: kanepyork <rikingcoding@gmail.com> Tested-by: BuildkiteCI
2020-08-09 r/1621 refactor(tvix): Factor-out proto utilitiesGriffin Smith3-136/+162
Factor out the shared utilities for interacting with protobufs/grpc from libstore to a proto.hh header in libproto. Change-Id: I1cb8d94867d5d4b63a9994be0b53f8f612eb8e3a Reviewed-on: https://cl.tvl.fyi/c/depot/+/1691 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-09 r/1620 feat(tvix): Pass function name to SuccessOrThrowGriffin Smith2-18/+32
To aid in debugging RPC call failures, pass the name of the function being called to the SuccessOrThrow util funcion in the RpcStore Change-Id: I523dacfab896b85a3dbe6050c07ee6bd5906fa44 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1690 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-08 r/1619 chore(3p/nix): apply google-readability-castingKane York40-125/+161
Command run: jq <compile_commands.json -r 'map(.file)|.[]' | grep -v '/generated/' | parallel clang-tidy -p compile_commands.json -checks=-*,google-readability-casting --fix Manual fixes applied in src/nix-env/nix-env.cc, src/libstore/store-api.cc Change-Id: I406b4be9368c557ca59329bf6f7002704e955f8d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1557 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in>
2020-08-08 r/1618 fix(tvix): Wrap remaining RPCs in HandleExceptionsGriffin Smith1-21/+29
Wrap the BuildPaths and AddTextToStore RPC handlers in HandleExceptions. These were missed in the original pass due to a merge. Change-Id: Ie5be45e6098fba7a2b6b1c1be81578cb742c2880 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1689 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-08 r/1616 chore(3p/nix): don't optional-wrap EvalState::file_access_trace_fn furtheredef2-4/+3
std::function has a natural null we can't eliminate anyway, so this was effectively std::optional<std::optional<non_nullable_function>>. Change-Id: If99f139146021edb25d133dad7f0f6e125ef53df Reviewed-on: https://cl.tvl.fyi/c/depot/+/1688 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-08 r/1615 feat(tvix): Implement AddToStoreNarGriffin Smith4-33/+129
Implement both the client and server sides of AddToStoreNar, using a templated generalization of the sources and sinks we were using for AddToStore on both ends. Change-Id: I73d0ed34118c711b125851dff99a7518ced4af35 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1686 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-06 r/1613 fix(3p/nix): Use SkipEmpty in all calls to absl::StrSplitKane York28-55/+80
The behavior to return a list containing a single empty string when provided an empty string is a behavior that absl inherited from legacy code. However, the behavior expected by legacy code in Nix is the behavior provided by the SkipEmpty option. Switch all calls to use SkipEmpty, except for the call already using SkipWhitespace. See also commit 26a59482d2427f640893517f1b24dd650a5bd5da, with the partly-prophetic message: "there may be other places we need to fix this as well." Change-Id: I6e94856a12cfb1b7e4a3b4e221769ed446648861 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1687 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-06 r/1612 refactor(tvix): Use absl::btree_map for BasicDerivation's envVincent Ambo2-3/+4
Change-Id: I111a9a268debea322f23fdced3bed9ff3e8ed3b3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1685 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-08-06 r/1611 refactor(tvix): Use absl::btree_map for DerivationInputsVincent Ambo2-4/+2
Change-Id: If160ab1b09161969d9080d5d0d6f82e44a953e3c Reviewed-on: https://cl.tvl.fyi/c/depot/+/1684 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-08-06 r/1610 refactor(tvix): Use absl::btree_map for DerivationOutputsVincent Ambo4-7/+22
This container implementation is much faster than std::map. We have stuck to an ordered container because it's unclear whether the accesses of this field (of which there are *many*) are actually ordering dependent. Also includes an Arbitrary implementation for absl::btree_map (for any K, V that are also Arbitrary). Change-Id: I04f58ca0ce32b9ae1759313b01508b0e44bae793 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1683 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-08-06 r/1609 chore(tvix): Disable sandboxing by default until its time comesVincent Ambo1-15/+8
Change-Id: Ifcc776841924abcb43fb115f3de569fe500756c8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1682 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-08-06 r/1604 chore(3p): Bump nixpkgs channelsVincent Ambo4-9/+83
Bumps both nixos-unstable and nixos-20.03 to today's versions, as per status.nixos.org Contains minor fixes to things that broke because of the update: * tazjin/frog: hardware.u2f is a deprecated setting * glittershark/system: modSha256 in Go modules is now vendorSha256 * glittershark/owothia: removed version constraint on relude Change-Id: Ib3e9612b1b06ed547b90e4f8b0ffe5ed7fe0a5c4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1642 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-05 r/1603 feat(3p/nix): add --trace-file-access to nix-instantiateKane York4-0/+49
This builds on edef's work with depot-scan by adding a dedicated flag to the command. We piggyback on upstream's restricted-mode implementation, the checkSourcePath function. Change-Id: I52bb613549f40dbca1e8caa036635910c1a3d6d0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1654 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-05 r/1600 feat(3p/nix): Implement FindRoots, CollectGarbageGriffin Smith5-3/+117
Implement the RPC client and server handlers for the FindRoots and CollectGarbage RPC calls Change-Id: Ifa5d582c6a33bd1e7661ac2fc860505ef404dad0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1656 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-05 r/1599 fix(3p/nix): fix usage error of absl::Base64UnescapeKane York1-3/+4
The source and destination strings cannot be the same string - absl will write to the destination in a streaming manner, causing the source to become invalid. Change-Id: I3578cf1f8789a51d85e0950f7987c398f0a00953 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1659 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-05 r/1598 fix(3p/nix/store): fix race condition in downloaderKane York1-1/+2
In certain circumstances, the decompression thread could race ahead of the downloader thread and process the same chunk twice. Clear the data buffer while the lock is held to prevent this kind of incident. Change-Id: I19a84a0c5768d1228c6c18a7664a7b8893ef96de Reviewed-on: https://cl.tvl.fyi/c/depot/+/1658 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>