about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2020-06-15 r/971 chore(ops/nixos/tvl-slapd): add glittersharkGriffin Smith1-0/+9
Change-Id: I2e537079b88a3857964c6b7c66cd9221ca580958 Reviewed-on: https://cl.tvl.fyi/c/depot/+/390 Reviewed-by: tazjin <mail@tazj.in>
2020-06-15 r/970 feat(depot-build): Add a tool to build at arbitrary tree locationsVincent Ambo3-0/+12
Assuming you're in `/depot/fun/clbot`, you can do this: tazjin@frog /d/f/clbot (master)> depot-build Building //fun/clbot /nix/store/i1zc6g58wa4819kyhaqi12zsh3hr31ph-clbot It is automatically added to the $PATH using direnv, too. Change-Id: Ia3341704e6317c2b8de40a3fa1be3b680d21a42d Reviewed-on: https://cl.tvl.fyi/c/depot/+/388 Reviewed-by: eta <eta@theta.eu.org>
2020-06-15 r/969 feat(fun/uggc): Install desktop handler in Nix derivationVincent Ambo3-14/+20
This actually registers the desktop entry, so xdg-open etc. start working: tazjin@frog /depot> xdg-open 'uggcf://gjvggre.pbz/alnabgrpu/fgnghf/1272363652679524352' Opening in existing browser session. Change-Id: Ia754cb87470fce2f8d3340d1147f3f01b9914858 Reviewed-on: https://cl.tvl.fyi/c/depot/+/387 Reviewed-by: riking <rikingcoding@gmail.com>
2020-06-15 r/968 feat(fun/uggc): create a rot13 url handlerKane York5-0/+94
Example usage: $ /nix/store/9kgpv4n62vhxs971jkvwvvl3msm4wpm8-uggc/bin/uggc 'uggcf://gjvggre.pbz/alnabgrpu/fgnghf/1272363652679524352' Change-Id: I8fd5f77416116ce1a6ab7f96d3f2c726ef663677 Reviewed-on: https://cl.tvl.fyi/c/depot/+/386 Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: eta <eta@theta.eu.org>
2020-06-15 r/967 feat(cheddar): Override syntax highlighting for 'rules.pl' to PrologVincent Ambo2-17/+34
Adds a mechanism for per-filename overrides of the chosen language syntax and configures it for Gerrit's submit rule file. This also switches the syntax set used to the one from //third_party/bat_syntaxes, which contains custom additions such as Prolog support. Change-Id: I2023dbad5b326305ef2ef0ecf34ef66a3f7575ab Reviewed-on: https://cl.tvl.fyi/c/depot/+/349 Reviewed-by: riking <rikingcoding@gmail.com> Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-15 r/966 feat(3p/bat_syntaxes): Add a derivation to extend bat syntaxesVincent Ambo2-0/+1336
This derivation can add arbitrary new Sublime syntaxes to bat's syntax file, which is used by cheddar. Included is a Prolog syntax. It is kind of mediocre, but better than nothing. Change-Id: I6ceecbc86a5dfba5886cd27bd5114721845446a7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/348 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-15 r/965 fix(nix/buildGo): Fix import of buildGo in example fileVincent Ambo1-1/+1
Change-Id: I56b4d19f24c5d8ec45254b7b05c9e49002d2ef85 Reviewed-on: https://cl.tvl.fyi/c/depot/+/382 Reviewed-by: edef <edef@edef.eu>
2020-06-15 r/964 chore: Unfuck NIX_PATH in the .envrcVincent Ambo1-1/+0
`nixpkgs` shouldn't be set to the depot root, it is almost never useful and breaks some tooling expectations. Change-Id: I32e46a8f514eb31d1aa81f0af32cf871d1572a96 Reviewed-on: https://cl.tvl.fyi/c/depot/+/381 Reviewed-by: edef <edef@edef.eu>
2020-06-15 r/963 chore(clbot): Refactor backoff utility into a separate package.Luke Granger-Brown4-28/+60
It'll be reused by the IRC side of things too. Change-Id: I3d84f3fd5fca6a6d948f331143b14f096d10675d Reviewed-on: https://cl.tvl.fyi/c/depot/+/342 Reviewed-by: tazjin <mail@tazj.in>
2020-06-15 r/962 chore(clbot): Add signal handler to make clbot shutdown cleanly on SIGINT.Luke Granger-Brown1-1/+24
Change-Id: I3c6eeeb99f9d81cdbcb10880c9075ac94c4f5d19 Reviewed-on: https://cl.tvl.fyi/c/depot/+/341 Reviewed-by: tazjin <mail@tazj.in>
2020-06-15 r/961 chore(monorepo-gerrit): Remove 'owners-autoassign' pluginVincent Ambo2-7/+0
This plugin just blindly assigns everyone and, as q3k has already pointed out, just isn't particularly useful. We might want to roll our own, for example: 19: 40:41 <+Remosi> I want the virtual owner thing, we could call it Gerrit Workgroup Synthesizer Queuing, or gwsq for short. Change-Id: Ib12a921ae4047ac6a734035dd0900c8964fb12d8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/350 Reviewed-by: riking <rikingcoding@gmail.com>
2020-06-14 r/960 feat(bin): Add git-bug to dispatch scriptVincent Ambo2-0/+4
Change-Id: Ic60aec36502b5c70256cb688e101d35f15c90183 Reviewed-on: https://cl.tvl.fyi/c/depot/+/346 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-14 r/959 feat(3p/git-bug): Add git-bug derivation at unstable-20200614Vincent Ambo2-0/+37
This builds git-bug, a distributed issue tracker that uses git as its data store. It also installs its man pages and shell completions. It is recommended that users add git-bug to their system closure for these extras to work, as they will not be picked up by the dispatch script. Change-Id: I1595368e61b0bae8a9497abd023085cb90a521a6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/345 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-14 r/958 chore(users/tazjin): Add avatar for tvlbotVincent Ambo1-0/+0
This is needed for running a git-bug web UI on camden. The important thing is that this gives us a stable URL to the image. Change-Id: If0e069c3d11376a1fb17411e52bb14a8481edb7d Reviewed-on: https://cl.tvl.fyi/c/depot/+/347 Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 r/957 chore(users/tazjin): Move my avatar to my folderVincent Ambo1-0/+0
Change-Id: If05860cd975f20c6d8fec301cabcc80d49d0dcda Reviewed-on: https://cl.tvl.fyi/c/depot/+/344 Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 r/956 feat(gerrit): Add CL titles to title tags if accessing a CL or patchset.Luke Granger-Brown2-0/+201
Fine, puck, you win. Change-Id: I47fe8ea6662132f5c337e1e73281dbeca19a414c Reviewed-on: https://cl.tvl.fyi/c/depot/+/321 Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 r/955 fix(3p/gerrit): Fix Gerrit derivation name and module configurationVincent Ambo2-1/+3
Without these changes, the NixOS module isn't able to use the new Gerrit derivation. These changes are already deployed as I needed to make them to get Gerrit back up. Change-Id: Iad3aa6158789a014134fddccd40b508b81486100 Reviewed-on: https://cl.tvl.fyi/c/depot/+/301 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-14 r/954 chore(hgignore): ignore .git for hgLuke Granger-Brown1-0/+1
Change-Id: I2f50d99a81db1edbfd64f384e37bd0da3e2ac0e0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/260 Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 r/953 chore(3p/gerrit_plugins): Update plugins for Gerrit 3.2Vincent Ambo1-4/+4
Change-Id: I0b1a2871768a8369dac7a3e2b06a38c07741e945 Reviewed-on: https://cl.tvl.fyi/c/depot/+/281 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-14 r/952 feat(gerrit): Syntax highlight rules.pl as Prolog.Luke Granger-Brown2-0/+33
This adds support for overriding the detected languages based on the filename - we assume here that rules.pl will always map to a Prolog file. I could've overridden the entire default language to Prolog, since it's unlikely that we'll have any Perl here, but given the relative popularity of the two languages I opted to just override the file we know we'll have (because it's used by Gerrit itself). https://usercontent.irccloud-cdn.com/file/yhZZx1nd/highlighted_prolog.png Change-Id: I26a7e6dab191e0b80a027b026f884020a1f07178 Reviewed-on: https://cl.tvl.fyi/c/depot/+/254 Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 r/951 feat(gerrit): Syntax highlight .nix files.Luke Granger-Brown2-1/+16
highlight.js supports syntax highlighting .nix files, but the Gerrit diff components doesn't map the .nix mimetype onto the nix language. .nix appears to already be taken by another mimetype that isn't Nix-related, but we just map that onto nix anyway. https://usercontent.irccloud-cdn.com/file/AVhoPvrb/highlighted.png Change-Id: I842b29c78355e5bec580e711e25d693284ab6f59 Reviewed-on: https://cl.tvl.fyi/c/depot/+/253 Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: q3k <q3k@q3k.org>
2020-06-14 r/950 feat(clbot): Create Gerrit watcher and basic clbot binary.Luke Granger-Brown14-0/+1235
gerrit.Watcher is a class which watches the Gerrit stream-events SSH connection and produces events. There's a basic CLBot binary as well, to demonstrate driving it to produce messages on the logging output. It doesn't really do anything else. Change-Id: I274fe0a77c8329f79456425405e2fbdc3ca2edf0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/245 Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 r/949 chore(users/tazjin): Remove offlineimaprcVincent Ambo1-39/+0
I use lieer these days. Change-Id: I76ec4654c9d18abbbb28e51d53fca549afde056d Reviewed-on: https://cl.tvl.fyi/c/depot/+/258 Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 r/948 feat(gerrit): Create Gerrit derivation.Luke Granger-Brown3-1/+167
This uses the actual Bazel build, using a variety of tricks and hacks to make it actually work. Bazel really wants to download linux binaries from the internet and run them. In lieu of trying to fix the build system to not do this, we instead put bazel inside an FHS environment, which allows the binaries to find their dependencies. We also have to patch a few things: * We use build --nobuild instead of fetch, so we only fetch the dependencies we actually need for the build and not, say, Windows binaries. * We don't remove rules_cc, because we need it as an external dependency, not bundled. * We do some manual fixes on the cache before packing, because we need to remove some in-tree sources (so they don't cause the hash to break, since the hashes differ each time they're generated), and also remove some extraneous files. * We explicitly turn off the repository and disk caches, because the .bazelrc at the root of the Gerrit tree turns them on, with paths pointing into the user's home directory. * detzip is used instead of the zip binary for packing bower_components into an archive. detzip doesn't create entries for directories, and also doesn't store most metadata (timestamps, etc.), and uses store (i.e. uncompressed) compression only. It also sorts the file tree before writing them into the file. Change-Id: I572c43f7175067ecb1b85cdf40dda13a52de1439 Reviewed-on: https://cl.tvl.fyi/c/depot/+/252 Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 r/947 feat: Configure OWNERS file for the depot rootVincent Ambo1-0/+4
This owners file creates a default approval policy for the entire tree. This is just an initial version and we haven't actually decided what this should look like, but crucially this change means that we can allow everyone to +2 changes in the repository which allows everyone to reign freely within their user directories. Change-Id: I2a14092765ad484d329f5542ac052da59eb104c7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/259 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-14 r/946 feat(gerrit): Create detzip, a small helper utility for packing zips ↵Luke Granger-Brown1-0/+97
determinstically. detzip will be used in a patch for the Gerrit bower repository helper, which allows us to get consistent hashes for the output of fetching the dependencies for the Bazel build. Change-Id: I6c87b19815b9d747064108aecbb57ed875d2623b Reviewed-on: https://cl.tvl.fyi/c/depot/+/251 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-14 r/945 chore(isomer): Add Isomer's homedir.Perry Lorier1-0/+3
Change-Id: Ic04f1a44b1cab0d5d6d2dfa52c577c718b404a9b Reviewed-on: https://cl.tvl.fyi/c/depot/+/256 Reviewed-by: isomer <isomer@tvl.fyi> Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 r/944 feat(tvl-slapd): add cynthia to slapdCynthia Revström1-0/+9
Change-Id: Ifb55ebd234d15fbaa6ef2e71f97ba7b8203ffcd9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/255 Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 r/943 feat(tazjin/dotfiles): Update msmtprc for lieer configurationVincent Ambo1-8/+7
Change-Id: I4e2fa960b904dc558904e3df94669513c4163312 Reviewed-on: https://cl.tvl.fyi/c/depot/+/247 Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 r/942 chore(users/tazjin): Add OWNERS fileVincent Ambo1-0/+3
I own this, okay? Documentation for this file syntax is at https://gerrit.googlesource.com/plugins/owners/+/refs/heads/stable-3.1/owners-autoassign/src/main/resources/Documentation/config.md Change-Id: If4e6430bdb2d27f31727b5169ce8b82c08ec8de2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/246 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-13 r/941 refactor(ops/nixos): Move my NixOS configurations to //users/tazjinVincent Ambo24-124/+51
NixOS modules move one level up because it's unlikely that //ops/nixos will contain actual systems at this point (they're user-specific). This is the first users folder, so it is also added to the root readTree invocation for the repository. Change-Id: I546c701145fa204b7ba7518a8a56a783588629e0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/244 Reviewed-by: tazjin <mail@tazj.in>
2020-06-13 r/940 feat: Add 'depotPath' to depot root importVincent Ambo1-0/+4
This is useful for things like including NixOS modules in configurations without creating long and error-prone relative paths. Change-Id: I4a5ebb1a0e5adf90b6bc50e884db453e12461001 Reviewed-on: https://cl.tvl.fyi/c/depot/+/243 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-13 r/939 fix(nix/readTree): Ignore hidden files and directoriesedef1-3/+14
This skips any directory entries starting with a dot. Change-Id: I95767f3d35bcb2ed9b3d6e772f3924dd57612711 Reviewed-on: https://cl.tvl.fyi/c/depot/+/123 Reviewed-by: tazjin <mail@tazj.in>
2020-06-13 r/938 docs(README): Fix link to Nixery repohyperfekt1-1/+1
Change-Id: Ic88288b0f36a6263143c6de787e3eca186fad274 Reviewed-on: https://cl.tvl.fyi/c/depot/+/241 Reviewed-by: tazjin <mail@tazj.in>
2020-06-13 r/937 feat(tvl-slapd): add eta to slapdeta1-0/+9
Change-Id: Ib34d59006645b992bd7b6cbd04fc7121ad3f0219 Reviewed-on: https://cl.tvl.fyi/c/depot/+/223 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-13 r/936 feat(monorepo-gerrit): Include owners & owners-autoassign pluginsVincent Ambo1-0/+5
Change-Id: I62b90fb94293fc5148fe0fd7a06ea3d0e4d44199 Reviewed-on: https://cl.tvl.fyi/c/depot/+/222 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-13 r/935 feat(3p/gerrit_plugins): Add derivations for Gerrit owners pluginVincent Ambo1-0/+16
Change-Id: I319f812746aea6069c45727f5afae8b9b79effdd Reviewed-on: https://cl.tvl.fyi/c/depot/+/221 Reviewed-by: q3k <q3k@q3k.org> Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-13 r/934 fix(monorepo-gerrit): Do not place hooks in $out/binVincent Ambo1-2/+2
Gerrit does not expect a bin/ there. Change-Id: I907f96690b8c6bb614dc11889712d7b122c5d5cf Reviewed-on: https://cl.tvl.fyi/c/depot/+/181 Reviewed-by: tazjin <mail@tazj.in>
2020-06-13 r/933 feat(camden): add builds shortlinkKane York1-1/+2
Change-Id: Iedd524d775349f24c13fe7c118830b7d4dfdec49 Reviewed-on: https://cl.tvl.fyi/c/depot/+/81 Reviewed-by: tazjin <mail@tazj.in>
2020-06-13 r/932 feat(monorepo-gerrit): Enable Gerrit hooks & configure besadiiVincent Ambo1-2/+11
Loads the 'hooks' plugin into Gerrit, which - as per my interpretation of the docs - is going to execute any hooks for which there are matching binaries. The intention here is that besadii should implement most of the hooks we care about. As a start, it is symlinked here to the `ref-updated` hook. Change-Id: I6482a9d71cc08908c29dd10f786cbba32b33d04d
2020-06-13 r/931 feat(besadii): Adapt into a Gerrit ref-updated-hookVincent Ambo2-65/+60
Besadii was previously invoked as a git post-update hook, but Gerrit does not use these hooks and instead has its own concept of hooks. This change adapts besadii to be compatible with the way Gerrit hooks are invoked (arguments being passed as flags, rather than via stdin). Change-Id: I487b3a9e15810583bc5442fdc024ee2771c580cb
2020-06-13 r/930 feat(monorepo-gerrit): Enable download-commands pluginVincent Ambo1-0/+9
This enables the display of various download commands on change pages, which makes things like checking out refs for review locally easier. Change-Id: I3c29854aa0cf1aa393efb89b7516bbf84e0083d4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/162 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-13 r/929 fix(monorepo-gerrit): Configure advertised address for SSH correctlyVincent Ambo1-0/+1
This is a prerequisite for setting up the download-commands plugin. Change-Id: I7803ef18be759f95aec020e4a00ca8e0fb48bfe0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/161 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-13 r/928 fix(nix/buildGo/external): Properly match import path prefixesedef1-1/+1
Prior to this patch, github.com/hashicorp/terraform-svchost is erroneously considered a sub-package of github.com/hashicorp/terraform, breaking dependency searching: error: missing local dependency 'github.com.hashicorp.terraform-svchost' in 'github.com/hashicorp/terraform' Change-Id: Ibcf0f3a9b1742ce46f84cbbf84e90127b8c1df0d Reviewed-on: https://cl.tvl.fyi/c/depot/+/122 Reviewed-by: tazjin <mail@tazj.in>
2020-06-13 r/927 chore(monorepo-gerrit): Point SMTP configuration at smtprelayVincent Ambo1-5/+4
Change-Id: I33085974fb3764f8a6df7f16245b2f5602f94118 Reviewed-on: https://cl.tvl.fyi/c/depot/+/102 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-13 r/926 feat(tvl-slapd): Add nyanotech to slapd, sort the listnyanotech1-19/+28
Change-Id: I9ffd2fb3b9ae3f6c8c381f496769eb8977caadeb Reviewed-on: https://cl.tvl.fyi/c/depot/+/124 Reviewed-by: riking <rikingcoding@gmail.com>
2020-06-13 r/925 fix(nix/buildGo): Pass sane arguments to log.Fatalfedef1-1/+1
Change-Id: Ie0f2c0a50d8c0618abf6dae2242155fdf1f98e2b Reviewed-on: https://cl.tvl.fyi/c/depot/+/121 Reviewed-by: tazjin <mail@tazj.in>
2020-06-13 r/924 feat(nixos/smtprelay): Add derivation & module for SMTP relayVincent Ambo3-0/+84
This adds a little tool that can be used to relay mail to Gmail (and other SMTP servers). It is intended to be used by Gerrit, which is incompatible with Gmail's SMTP servers. Configuration has been tested by performing a few sends through the tvlbot@tazj.in account. Note that this is using the standard Gmail SMTP server. Using the smtp-relay server relies on IP whitelisting, but camden.tazj.in has a larger number of IPv6 addresses than can be whitelisted (the maximum is 65k). This means that we are limited to 2000 mails per recipient per day, which should be fine. Change-Id: Ie43564d753030f5c800a9cdb4ae98292877d80dc Reviewed-on: https://cl.tvl.fyi/c/depot/+/101 Reviewed-by: edef <edef@edef.eu>
2020-06-12 r/923 feat(monorepo-gerrit): Configure outbound emails for reviewsVincent Ambo1-0/+19
Configures Gerrit send emails from tvlbot@tazj.in for outgoing review notifications. Emails are always plain-text and can contain diffs (up to a maximum size of 256KiB). The configuration options for this are documented at: https://gerrit-review.googlesource.com/Documentation/config-gerrit.html#sendemail Note: The password for this user is stored on the host, in a file that is not part of version-control and is only readable by the 'git' user. We should probably figure out a way to do secrets management ... Change-Id: I2f99b34b1a774c28d814b0aba1f1b78fd512854e Reviewed-on: https://cl.tvl.fyi/c/depot/+/92 Reviewed-by: riking <rikingcoding@gmail.com>
2020-06-12 r/922 docs: Update README for move to tvl.fyiVincent Ambo1-8/+4
Change-Id: I42944b8f138e78d8b3bdb4e26c40b40e3913e604 Reviewed-on: https://cl.tvl.fyi/c/depot/+/91 Reviewed-by: riking <rikingcoding@gmail.com> Reviewed-by: tazjin <mail@tazj.in>