about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2021-05-06 r/2569 fix(atward): Use 'q' query parameter for query insteadVincent Ambo1-2/+10
This removes a bunch of awkwardness around slashes in URLs, which also frequently feature in our patterns. Change-Id: I68c69d4c68436421951ee133bfbc067609f27bb6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3097 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-05-05 r/2568 fix(ops/www): Fix typo in nginx configurationVincent Ambo1-1/+1
Change-Id: I5ee7307acae548cc7779fe715ea4aad620fe8f5c Reviewed-on: https://cl.tvl.fyi/c/depot/+/3096 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-05-05 r/2567 feat(ops/www): Configure atward.tvl.fyi and its aliasesVincent Ambo2-0/+34
Change-Id: I20dfb057f8184899226bcb4527010a6982d426f0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3094 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-05-05 r/2566 refactor(atward): Configure listen addressVincent Ambo2-3/+9
This appeases the flokli. Change-Id: Ib6a6c1a2cc8780e7944913d9204b42505b29fdc0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3093 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-05-04 r/2565 feat(cheddar): Implement highlighting of CL and bug shortlinksVincent Ambo4-1/+51
Implements highlighting of shortlinks like cl/123, or b/123. Highlighting works by replacing the input Markdown using a simple regular expression replacement. We also considered parsing and replacing these links in the Markdown AST, but it would have been significantly more complex (due to arena allocation) for little upside and no obvious performance benefit. Change-Id: I53f03fb17491046d89d0b7f605929571c11ee9a8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3082 Tested-by: BuildkiteCI Reviewed-by: eta <eta@theta.eu.org>
2021-05-04 r/2564 feat(atward): Add query for changelistsVincent Ambo1-0/+16
Adds a query for things like cl/42 Change-Id: I144ee25c0f2c9956c81b349d653c5fec42602f9f Reviewed-on: https://cl.tvl.fyi/c/depot/+/3092 Tested-by: BuildkiteCI Reviewed-by: eta <eta@theta.eu.org>
2021-05-04 r/2563 chore(3p/josh): Bump version to latest HEADVincent Ambo2-73/+3
This lets us drop the patch for pinning the git library, as this one is now pinned to something upstream. Change-Id: Ib8026f5f22e2e49371a2bad83aa726c2951570e4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3086 Tested-by: BuildkiteCI Reviewed-by: eta <eta@theta.eu.org>
2021-05-03 r/2562 feat(ops): Add NixOS module for atwardVincent Ambo2-0/+35
Very standard, nothing fancy. Change-Id: Ibb286f221a4752abfb62e971b98e9496357040f5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3090 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2021-05-03 r/2561 feat(ops/dns): Add hostnames for atward (at.*, atward.*)Vincent Ambo2-2/+6
The shorter one is going to be more convenient when we get go-link (or, well, at-link) support. Change-Id: Ic24adcdad679b893c40c87731add818660259dac Reviewed-on: https://cl.tvl.fyi/c/depot/+/3091 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi>
2021-05-03 r/2560 feat(web/atward): Wire up query resolution to a web serverVincent Ambo1-1/+17
Adds a simple web server which logs all incoming requests and either sends the user to the correct destination, or gives up and displays an error (in the future there'll be fallback searches so that peopple can use this as their default search engine easily). Change-Id: I4f10472dbc74fa9cc71fad0533da38eda2b6077c Reviewed-on: https://cl.tvl.fyi/c/depot/+/3089 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi>
2021-05-03 r/2559 feat(web/atward): Implement match scaffolding for TVL redirectorVincent Ambo5-0/+1085
atward is going to be a new TVL service, living at atward.tvl.fyi, which users can configure as a search engine in their browser. It will understand a variety of TVL-specific query types (such as bug/CL links or code paths). In the future it might also support features like go-links. This commit configures the initial setup for query matchers in atward and adds an example query type (for bugs). This is not yet wired up to a web server. Change-Id: Ifaf06c3f5cc378eee7894b7576ef583fc89264f0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3087 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi>
2021-05-03 r/2558 feat(users/Profpatsch/blog): add rust-string-conversions noteProfpatsch2-4/+58
Change-Id: I7bee585935e65660f6b25b88ed33f09775eb01a0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3088 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-05-03 r/2557 feat(cheddar): Add a build script that injects BAT_SYNTAXESVincent Ambo1-0/+50
The BAT_SYNTAXES environment variable is injected during Nix builds and points to the build result of //third_party/bat_syntaxes, which is included in the cheddar binary. During development this is a bit annoying: Opening a Nix shell will set the right variable, but it will also mess with the Cargo environment in ways that make it annoying to use (*and* require a pre-build of all dependencies as required by naersk). For an easier development flow, this adds a build script that automatically runs Nix, fetches the path to the syntax set and sets the environment variable. It is a no-op if the variable is already set. This makes for a smoother development experience when working on cheddar in a depot checkout. Change-Id: Ib5435518897e3443247edd9f362821c0b9ff756b Reviewed-on: https://cl.tvl.fyi/c/depot/+/3081 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2021-05-03 r/2556 refactor(cheddar): Split out a library with rendering logicVincent Ambo2-131/+148
Splits `main.rs` into `lib.rs` and `bin/cheddar.rs`, which enables reuse of cheddar's rendering logic in other Rust applications. Change-Id: Ifd1a44a8d1620c595550a0a497a25b0563e917ca Reviewed-on: https://cl.tvl.fyi/c/depot/+/3060 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2021-04-30 r/2555 feat(users/Profpatsch/blog): implement blog engine lolProfpatsch3-0/+354
My horrible blog engine v0.0.0.0.1. Don’t judge. Change-Id: I427b4e84d67aa49793cb7625e4d8ca2824f00943 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2456 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-30 r/2554 fix(users/Profpatsch/netencode): use write_all in encoderProfpatsch1-4/+4
`write` returns the written usize; now I wonder why rustc didn’t at least produce a warning because the result was unused. Do we need to add any flags to `rustSimple`? Change-Id: If8d51d95c993dec6c92e46dbc82cd8cdd398f441 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3056 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-30 r/2553 revert: "feat(web/panettone): Allow requesting JSON"grfn2-41/+4
This reverts commit 77c09076eccf343e7f14ed389719c0866de3d649. Reason for revert: It doesn't work - attempting to request any of the pages now gives: [ERROR]] No keys match in SWITCH. Testing against "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" with EQUAL. Change-Id: Ic4c795fd2a971003a6823a3b68ddee9a03b9f7c9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3061 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-04-28 r/2552 feat(grfn/yeren): Install tdesktopGriffin Smith1-0/+1
Change-Id: I951224d0cfd6d8c1d0eda752134bf9b9375c7cdb Reviewed-on: https://cl.tvl.fyi/c/depot/+/3053 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-28 r/2551 feat(grfn/yeren): Install+configure ntfyGriffin Smith1-0/+3
automatic notifications when long-running commands are done! that's cool. Change-Id: Ic9451c0c349661c3df8ba1058748a59159bc4b3f Reviewed-on: https://cl.tvl.fyi/c/depot/+/3044 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-28 r/2550 feat(ops/users): Add ezemtsov to usersEvgeny Zemtsov1-0/+5
Change-Id: I78a06540e97c0f294d81abe65c15122ed422dd8a Reviewed-on: https://cl.tvl.fyi/c/depot/+/3059 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-04-27 r/2549 fix(tazjin/blog): Fix minor typos in WatchGuard postVincent Ambo1-13/+13
Change-Id: Iaeb9fab5a80597469e5efdf24655ae07dca48fe1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3058 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-04-24 r/2548 docs(tvix): Begin specification of the Nix languageVincent Ambo1-0/+78
This is only the introductory text, without any of the components specified so far. Change-Id: I6cd8eff6ec2daf14cc2420ee0a8e8983bfaa57d9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3052 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-24 r/2547 chore(nix): move rustSimple from users.Profpatsch.writersProfpatsch14-158/+184
I think it’s solid enough to use in a wider context. Change-Id: If53e8bbb6b90fa88d73fb42730db470e822ea182 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3055 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: lukegb <lukegb@tvl.fyi>
2021-04-24 r/2546 feat(nix): add basic netstring nix generation functionsProfpatsch4-18/+48
Moving to toplevel so I can use them with `runExecline`. They should be pretty atomic, and are proven to work (tests are still in my user dir, since they test the producers indirectly via the python parser and I don’t want to pull it out right now). Change-Id: Id0baa3adcb2ec646458a104c7868c2889b8c64f5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3054 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2021-04-23 r/2545 feat(users/Profpatsch/lib): add eprint-stdin-netencodeProfpatsch2-3/+17
Like `eprint-stdin`, but reads stdin as netencode and pretty-prints it to stderr. Change-Id: I430c010b0cac45f077cde9dadfd79adfa7a53eca Reviewed-on: https://cl.tvl.fyi/c/depot/+/2533 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 r/2544 feat(users/Profpatsch/netencode): add pretty printerProfpatsch2-0/+172
Simple pretty printer for netencode values, as a rust library and an accompanying command line tool which takes netencode on stdin and prints the pretty version to stdout. Change-Id: I0a57c644985162bc08a9bf1ee78f7be278400199 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2532 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 r/2543 feat(users/Profpatsch/netencode): add env-splice-recordProfpatsch2-8/+37
It’s the inverse of record-splice-env! It sucks up the environment and prints it as a netencode dict! Only the utf-8 clean parts at least. Change-Id: I96c19fc5ea3a67a23e238f15f4d0fa783081859c Reviewed-on: https://cl.tvl.fyi/c/depot/+/2527 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 r/2542 feat(users/Profpatsch/struct-edit): per-level positionProfpatsch1-46/+59
The user expects the editor to remember the positions of fields they navigated from to a new level, so when they return they get put in the same spot. We push the index from one field into every level of the value. Unfortunately this introduces pointers and all the woes they bring. Change-Id: I889c28b71fd7082b765e1d6874faeb1b36dade60 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2866 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 r/2541 chore(users/Profpatsch/struct-edit): factor out non-val enumerationProfpatsch1-5/+17
This will be needed to factor the current cursor position into vals. Change-Id: I73635b13c29b6b8925c68005c8db1c4dda93f15d Reviewed-on: https://cl.tvl.fyi/c/depot/+/2865 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 r/2540 fix(users/Profpatsch/struct-edit): change arrow keysProfpatsch1-4/+4
Since items are aligned per-line, it makes more intuitive sense to use up/down for previous/next item, and left to go up and right to go down. Change-Id: I6bc33bd4e6e8f9fb245d252ca063dfabf972147d Reviewed-on: https://cl.tvl.fyi/c/depot/+/2864 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 r/2539 feat(users/Profpatsch/struct-edit): add support for mapsProfpatsch1-22/+71
This makes it possible to pipe json dicts to the program and fully navigate them. Change-Id: I18dd8683d6f00c8ea967eb0c8dc89d1e0735fbcb Reviewed-on: https://cl.tvl.fyi/c/depot/+/2863 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 r/2538 feat(users/Profpatsch/struct-edit): initial versionProfpatsch2-0/+370
A take at a TUI-based structural editor, which should eventually read a type definition of a structure and some values, and build a GUI to edit it. So far you can only pipe it some restricted json (lists, strings and floats) and “navigate” through the structure with the arrow keys. Change-Id: I7c8546459ff86c766fc03723f732c7d9f863ceaa Reviewed-on: https://cl.tvl.fyi/c/depot/+/2862 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 r/2537 feat(third_party/gopkgs): add charmbracelet/{bubbletea,bubbles}Profpatsch10-0/+171
A small go TUI framework based on the Elm Architecture. Change-Id: I0c400a7b25af682735bfc5061db179e5d1dd75ab Reviewed-on: https://cl.tvl.fyi/c/depot/+/2853 Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: lukegb <lukegb@tvl.fyi> Tested-by: BuildkiteCI
2021-04-23 r/2536 docs(third_party/rust-crates): add top commentProfpatsch1-0/+3
Change-Id: I3938310cb5d50a2bc85b20bb415af78d1b42c844 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2816 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-23 r/2535 feat(nix/buildGo): add the import position to errmsgProfpatsch2-11/+22
When a foreign dep is missing a dependency, it is good to have a context. e.g. the `github.com/charmbracelet/bubblegum` package has a lot of dependencies that are only used in its `examples/` dir; this is not obvious, unless we also print where the imports come from. New error message: ``` error: missing foreign dependency 'github.com/containerd/console' in 'github.com/charmbracelet/bubbletea, imported at /nix/store/0cry4sg6bzxqwk5zl2nxhas6k5663svg-source/tea.go:22:2' ``` Change-Id: If34a3c62b9d77d4aea108b5e011e16fbd03e8554 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2852 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-22 r/2534 feat(web/panettone): Allow requesting JSONGriffin Smith2-4/+41
Allow specifying an `Accept: application/json` header to the index and show issue routes, to request that those pages be returned as JSON. Change-Id: Ic225139fc9e7fdce0da98984df4ca987685dafe0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3043 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <mail@tazj.in>
2021-04-20 r/2533 chore(3p/emacs): Remove obsolete third-party packagesVincent Ambo20-8627/+3
We don't need these in the depot anymore as the Emacs overlay now provides newer versions of them, or because they are not used anymore. Change-Id: I393e1580b66450d0bb128213bc79668172dadacc Reviewed-on: https://cl.tvl.fyi/c/depot/+/3005 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-04-20 r/2532 feat(nix/utils): add storePathName, a more generic baseNameOfsterni2-8/+48
This is a wrapper around baseNameOf which also can deal with derivations. Added to //nix/utils since I've found myself introducing an ad-hoc implementation of this for both //web/bubblegum and //nix/buildC. Change-Id: I2fcd97a150d6eda21ab323fa0d881ff7442a892e Reviewed-on: https://cl.tvl.fyi/c/depot/+/3049 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-20 r/2531 refactor(grfn/emacs): Use TVL Emacs packages from fixpointVincent Ambo1-3/+1
Change-Id: I01d8993cc900ba34eb780524e040762c884c9815 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3009 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-04-20 r/2530 refactor(web/converse): Refactor first handlers to rouilleVincent Ambo7-243/+584
This commit starts the refactoring process towards dropping actix (and tokio, ...). It builds, but at this commit, Converse does *not* work. I decided to commit to avoid more ridiculous diffs. Included changes: * Added dependency on rouille. * Refactored DbExecutor (formerly actix actor) to simply be a type with a few methods. Most actor messages still exist as they are being referred to by handlers. * Started refactoring two of the handlers (and their related renderer functions) into Rouille's call scheme. Important note: Rouille does not have safe session management out of the box, and it will need to be implemented as this progresses. Change-Id: I3e3f203e0705e561e1a3392e8f75dbe273d5fa81 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2861 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-20 r/2529 feat(ops/modules/www): Disable FLoC tracking for all TVL pagesVincent Ambo1-0/+4
.. this is actually likely not disabling it for some pages, that will need this to be copy & pasted, but it's hard to tell just from the nginx docs. We'll make sure after deploying. Change-Id: I2fa6e31ca10835a206673b858594fa071e729d82 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3020 Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi>
2021-04-20 r/2528 refactor(grfn): Stop importing nixpkgs a bunch of timesVincent Ambo9-35/+12
Once is enough! <grfn> https://tazj.in/blobs/touch-garbage.jpg Change-Id: I68f66669e82d35a71752638450fa4b820e137172 Signed-Off-By: Florian Klink <flokli@flokli.de> Reviewed-on: https://cl.tvl.fyi/c/depot/+/3048 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-04-20 r/2527 refactor(ops/nixos): Ensure that pkgs == depot.third_party.nixpkgsVincent Ambo4-42/+22
This is currently done ad-hoc in a bunch of our systems, but we should just do it centrally. The commit message is a bit of a lie, as this doesn't yet update grfn's systems. Change-Id: Ic771c1a1da78ec5de9cffbf94c296dce5e11fd84 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3047 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-20 r/2526 fix(bubblegum): import lib from the new correct placesterni2-2/+2
Since cl/2910 depot has no lib attribute anymore. Import it from the depot fix point via depot.third_party.nixpkgs.lib to avoid passing another argument and enlargening the shebang further. Change-Id: I3c719eba38a5ceb36689ebf0409bd19d4f46a609 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3050 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-18 r/2525 feat(grfn/home): Bind brightness keys with brightnessctlGriffin Smith1-0/+4
thanks, flokli! Change-Id: I3256bc66984939dde1bb397c3c5007a8296670ab Reviewed-on: https://cl.tvl.fyi/c/depot/+/3030 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-18 r/2524 fix(automatic-gc): Fix garbage collection scriptVincent Ambo1-1/+1
It needs to refer to this by full path of course. Change-Id: I911c876ba18877681accb722426314d92b9f2318 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3042 Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2021-04-17 r/2523 feat(tverskoy): enable eink toolingFlorian Klink1-1/+8
Provide ddcutil and paperlike-go in $PATH. Provide the necessary udev and kernel module plumbing so they work as non-root. Icecream-Required-From: Vincent Ambo <mail@tazj.in> Change-Id: Ic9323a45cdbb75571e8f8b3aca4b9a763c271968 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3029 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-17 r/2522 feat(grfn/achilles): Implement tuples, and tuple patternsGriffin Smith12-54/+413
Implement tuple expressions, types, and patterns, all the way through the parser down to the typechecker. In LLVM, these are implemented as anonymous structs, using an `extract` instruction when they're pattern matched on to get out the individual fields. Currently the only limitation here is patterns aren't supported in function argument position, but you can still do something like fn xy = let (x, y) = xy in x + y Change-Id: I357f17e9d4052e741eda8605b6662822f331efde Reviewed-on: https://cl.tvl.fyi/c/depot/+/3027 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-17 r/2521 feat(grfn/yeren): Set timezone to Africa/CairoGriffin Smith2-1/+3
\o/ Change-Id: Ia456e044c48eee095408efc9f6b802b4337ea09f Reviewed-on: https://cl.tvl.fyi/c/depot/+/3026 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-17 r/2520 chore(grfn/achilles): Load shell.nix from depotGriffin Smith1-4/+2
Rather than pinning a nixpkgs in here, just import the relative path to the depot to load nixpkgs. Change-Id: I452727d45e4f44ecc99b86d17e88a413c1911c59 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3025 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI