about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2021-11-29 r/3116 refactor(ops/pipelines): Query build status from Buildkite APIVincent Ambo2-8/+21
Instead of manually tracking the build status through Buildkite metadata, use the Buildkite GraphQL API in the `:duck:` build step (i.e. the one that determines the status of the entire pipeline to be reported back to Gerrit) to fetch the number of failed jobs. This way we have less manual state accounting in the pipeline. The downside is that the GraphQL query embedded here is a little hard to read. Notes: * This needs an access token for Buildkite. We already have one for besadii which is also run by the agents, so I've given it GraphQL permissions and reused it. * I almost introduced a very rare bug here: My initial intuition was to simply `exit $FAILED_JOBS` - in the extremely rare case where `$FAILED_JOBS % 256 = 0` this would mean we would ... fail to fail the build :) Change-Id: I61976b11b591d722494d3010a362b544efe2cb25
2021-11-29 r/3115 refactor(gs/emacs): Switch to doom's built-in fuzzy ivyGriffin Smith2-5/+5
This seems to do sorting slightly better. Change-Id: I0d354a77b45b1a83d4bb5eb0acd024187b06929f
2021-11-29 r/3114 feat(gs/home): Add shell alias for graphvizzingGriffin Smith1-0/+4
for work Change-Id: Ib8a8928f8315823a34b653d3e3dff46d10f930e6
2021-11-29 r/3113 feat(gs/system): Install dev man pagesGriffin Smith1-0/+5
I wanna be able to man libc stuff Change-Id: Ie38e6751af24ffcffa912621dc217dcef5c84dda
2021-11-29 r/3112 fix(third_party/nix-diff): use version which handles non-utf8 drvsProfpatsch1-2/+10
We had a problem on whitby where decoding of the drv files would fail with an utf8-decoding error. This version of nix-diff will leniently input files as utf-8, with replacement characters if necessary. Change-Id: I5cb245923c6db0875e63e420cb0783e235b6859f
2021-11-29 r/3111 chore(ops/users): Update password hash for asmundoVincent Ambo1-1/+1
... some issue snuck in on the first one, as is tradition. Change-Id: I06ce4df82cde26231cd1ab3df500de02e981d9bc
2021-11-29 r/3110 chore(tazjin/russian): Reduce timer interval to 4 secondsVincent Ambo1-1/+1
Change-Id: I85025754695a6173a23c9ea2eb19ddc8e97e4dcd
2021-11-29 r/3109 feat(tazjin/russian): Function to look up last word in WiktionaryVincent Ambo1-0/+7
For cases where a word raises more questions than are answered by my existing notes, roots, translations and so on. Change-Id: Ic9dd79ba4aef6e3c8e7e8e965195b67f7a0c65f3
2021-11-29 r/3108 feat(tazjin/russian): Exclude known words from random displayVincent Ambo1-1/+29
Adds a set of words that I consider "known" (but that should be in the most frequent word list anyways). This set can be populated by invoking `mark-last-russian-word-as-known` after display, and is automatically persisted. Right now there's nothing automatically loading it back in, just as there is nothing loading any of this automatically, that's for the future. Change-Id: I51ee4f37114c6b95925e8ad5bdc5dc9b8657bdad
2021-11-29 r/3107 feat(tazjin/russian): Remember the last displayed wordVincent Ambo1-1/+3
This will make it possible to do operations on that word (i.e. marking it as known, or opening the full definition page). Change-Id: Ib77f7d2e4e96d6ab754b311a69f72e2b080657ac
2021-11-29 r/3106 feat(ops/users): Add user asmundoasmundo1-0/+5
Change-Id: Ie666b6556d91513babd884b2ed1140cd6c0ed2a9
2021-11-29 r/3105 refactor(besadii): Rename refUpdated -> buildTriggerVincent Ambo1-34/+40
We are changing the Gerrit hooks which invoke besadii, but this structure will be used for both kinds. Change-Id: Idb1cb0c640d2c42db8e7af39f3ab372a97bfef91
2021-11-28 r/3104 feat(tazjin/russian): Echo Russian words when Emacs is idleVincent Ambo2-6/+30
This should keep up passive exposure to words, but needs a subsequent function for filtering out things that are definitely known. Since I'm keeping the frequent word list mostly intact the majority of words are very basic, but it's those last 15-20% I'm interested in (not completely imported yet). Change-Id: I7a5684b8dca1fe5301e8b394be2627550a60e3c6
2021-11-28 r/3103 feat(tazjin/russian): Add macro to populate word tableVincent Ambo2-1/+72
Adds a stupid macro that populates a 'russian-words' hash table in which merged definitions of words are available. Change-Id: Ide7825577ba26d63ff564e54601541f39ab5a1a6
2021-11-28 r/3102 fix(ops/besadii): Trim whitespace of auth tokensVincent Ambo1-4/+7
This is causing failures when trying to update Sourcegraph at least, for good measure I've trimmed both. Change-Id: I40266ee83b4e266ffe50f16bb365eb2e51952513
2021-11-27 r/3101 chore(tazjin/tverskoy): Minor config cleanupsVincent Ambo1-2/+5
Change-Id: I434c0b8d5e5ce2d077630de2dd71de309b7d076f
2021-11-27 r/3100 fix(tazjin/tverskoy): Persist Zoxide state between rebootsVincent Ambo1-0/+8
Change-Id: Ib1e1fe9749e56eefc83016b1946e6fe0b1f72339
2021-11-25 r/3099 feat(gs/xanthous): Creatures drop their items when they dieGriffin Smith3-4/+24
When a creature is killed, it now drops all the contents of its inventory on the ground. Change-Id: Ie95c397308ba2c9861f10e58b99c91c9cc759c56
2021-11-25 r/3098 feat(gs/xanthous): Creatures use their weapons to attackGriffin Smith5-11/+50
If a creature has a weapon wielded, then they now use that weapon to attack the player *instead of* their natural attacks. This uses a new `creatureAttackMessage` field on the Item raw for the message to use. Change-Id: I73614f33dbf88dd4c68081f15710fa27b7b21ba2
2021-11-25 r/3097 feat(gs/xanthous): Allow generating creatures with itemsGriffin Smith11-96/+163
Add an `equippedItems` field to the CreatureType raw, which provides a chance for generating that creature with an item equipped, which goes into a new `inventory` field on the creature entity itself. Currently the creature doesn't actually *use* this equipped item, but it's a step. This commit also adds a broken-dagger equipped 90% of the time to the "husk" creature. Change-Id: I6416c0678ba7bc1b002c5ce6119f7dc97dd86437
2021-11-25 r/3096 fix(3p/overlays): Avoid cache-busting EXWM on every commitVincent Ambo1-1/+1
This is a bit silly, I assumed hte previous one would concatenate the path before importing it into the store - but it doesn't. Change-Id: Iebb4c9cb432751448deeac07d6b7ad8225711d30
2021-11-25 r/3095 chore(3p): bump NixOS channels to 2021-11-24sterni2-16/+11
* The API for gradleGen changed which makes our override a bit simpler at least. Change-Id: Ib5d7bc33d30a4545235a8a74eadbb418cd76d1d0
2021-11-25 r/3094 feat(sterni/nix/utf8): check if codepoint valid/encodeablesterni2-4/+42
* Enforce the U+0000 to U+10FFFF range in `count` and throw an error if the given codepoint exceeds the range (encoding U+0000 won't work of course, but this is Nix's fault…). * Check if the produced bytes are well formed and output an error if not. This indicates that the codepoint can't be encoded as UTF-8, like U+D800 which is reserved for UTF-16. Change-Id: I18336e527484580f28cbfe784d51718ee15c5477
2021-11-25 r/3093 fix(nix/runTestsuite): don't crash on big test suitessterni1-8/+9
Having `prettyRes` in the execline script causes it to fail because of the argv limit if your test suite is long enough. For the succeeding one we can work around this by hashing it (since we only care that something changes if the test suite changes), in the case of the failing one where we want to print the results, we use runExecline's stdin mechanism. Change-Id: I2489f76acfbe809351f51caefe2a477328a70ee3
2021-11-25 r/3092 refactor(sterni/nix/utf8): let wellFormedByte check first bytesterni1-17/+14
Previously we would check the first byte only when trying to figure out the predicate for the second byte. If the first byte was invalid, we'd then throw with a helpful error message. However this made wellFormedByte a very weird function. At the expense of doing the same check twice, we now check the first byte, when it is first passed, and always return a boolean. Change-Id: I32ab6051c844711849e5b4a115e2511b53682baa
2021-11-25 r/3091 feat(sterni/nix/utf8): implement UTF-8 encodingsterni2-2/+83
This implementation is still a bit rough as it doesn't check if the produced string is valid UTF-8 which may happen if an invalid Unicode codepoint is passed. Change-Id: Ibaa91dafa8937142ef704a175efe967b62e3ee7b
2021-11-25 r/3090 chore(sterni/nix/utf8): remove decodeSafesterni1-14/+0
This is not really used anywhere and kind of useless. A better decodeSafe would never return null and instead make use of replacement characters to represent invalid bytes in the input. Change-Id: Ib4111529bf0e472dbfa720a5d0b939c2d2511de5
2021-11-24 r/3089 feat(tazjin/tverskoy): Install some more frequently used toolsVincent Ambo1-0/+6
... rather than nix-shelling them every time. Change-Id: I9ab6ad67efbd6c16c7fd8cc9938d86d35f8418bc
2021-11-23 r/3088 refactor(readTree): Move 'drvTargets' into readTreeVincent Ambo19-40/+34
This function is also generally useful for readTree consumers that have the concept of subtargets. Change-Id: Ic7fc03380dec6953fb288763a28e50ab3624d233
2021-11-23 r/3087 refactor(readTree): Move 'gather' into readTree itselfVincent Ambo2-26/+35
Discovering CI targets is relevant to all readTree consumers and this logic is not TVL-specific. Change-Id: I81ed3d3f76a6c36119f04bee28ca995a013f0e35
2021-11-23 r/3086 feat(sterni/nix/utf8): allow decoding the empty stringsterni2-3/+3
Change-Id: I8de9cd28c822ac5befbcd16e118440cd13cd86e9
2021-11-23 r/3085 refactor(sterni/nix/utf8): use genericClosure for decoding iterationsterni1-23/+46
builtins.genericClosure is a quite powerful (and undocumented) Nix primop: It repeatedly applies a function to values it produces and collects them into a list. Additionally individual results can be identified via a key attribute. Since genericClosure only ever creates a single list value internally, we can eliminate a huge performance bottleneck when building a list in a recursive algorithm: list concatenation. Because Nix needs to copy the entire chunk of memory used internally to represent the list, building big lists one element at a time grinds Nix to a halt. After rewriting decode using genericClosure decoding the LaTeX source of my 20 page term paper now takes 2s instead of 14min. Change-Id: I33847e4e7dd95d7f4d78ac83eb0d74a9867bfe80
2021-11-23 r/3084 refactor(readTree): Move copy of 'fix' into readTreeVincent Ambo2-5/+8
This is often used when bootstrapping a repository with readTree, before lib is available. Having this definition in readTree is more convenient than copy&pasting it around to callsites. Change-Id: I6d5d27ed142bea704843fe289ad2674be8c4d360
2021-11-23 r/3083 fix(3p/overlays): Downgrade Nix to stable version for nix-serveVincent Ambo1-0/+4
Where I'm using stable in the non-versioning sense of the word. https: //github.com/edolstra/nix-serve/issues/28 Change-Id: I87869a62bc0f3b289950a79aabd4d2041390bb09
2021-11-23 r/3082 refactor(readTree): Move 'restrictFolder' function into readTreeVincent Ambo2-26/+37
This is generally useful for readTree users and should be part of readTree itself. This is a move towards exposing several readTree-related features from the library itself, in the future also including logic like 'gather'. Note that this has a small functional change: In error messages of the function, the notation for accessing Nix attributes is now used rather than the Perforce-style `//` notation common in TVL. For example, an error at `//web/tvl/logo` will produce `web.tvl.logo` in the error message (which corresponds to the readTree attribute itself). This makes more sense for non-TVL consumers of readTree, as the Perforce-style notation is custom to us specifically. Change-Id: I8e199e473843c40db40b404c20d2c71f48a0f658
2021-11-22 r/3081 refactor(gs/xanthous): Break out inventory into a common moduleGriffin Smith8-247/+293
Creatures are going to have an inventory too now in addition to characters, so all the data types and lenses and stuff that define inventory need to be broken out into a separate module so the Creature entity can use them. Change-Id: I83f1c70d316afaaf2e75901f9dc28f79fd2cd31f Reviewed-on: https://cl.tvl.fyi/c/depot/+/3901 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-11-22 r/3080 refactor(gs/xanthous): Define local field lens aliases in AIGriffin Smith1-8/+13
This slightly improves how the module reads imo Change-Id: Ib1efcbbd5392ece6b46461e8075162f03846d421 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3886 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-11-22 r/3079 fix(3p/overlays): Rollback Nix to 2.3 depot-wideVincent Ambo1-0/+4
There is too much breakage with the newer version than I have time to deal with right now (and I think the same goes for the others). Change-Id: I54045d1ef16d0215e516986477d734c54e48f1f8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3904 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: lukegb <lukegb@tvl.fyi>
2021-11-21 r/3078 fix(ops/restic): Move whitby's backup to GleSYS object storageVincent Ambo2-13/+17
Since GCP nuked us, the backups are now moving to GleSYS' S3-compatible object storage. This refactors the restic module to support S3-compatible storage instead of GCP, and switches to the appropriate new secret paths. The secrets were placed on whitby manually and I verified that the backups work. This fixes b/157 Change-Id: I6a9d2b0581967605ce736605a3befb44cdeae7e1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3883 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-11-20 r/3077 fix(gs/xanthous): Check for reaching destination in AIGriffin Smith1-0/+1
Because floating points, it's possible that a creature has reached their destination even if the *progress* to that destination is at 0 - if that happens, they should pick a new destination regardless. This fixes the issue where creatures would occasionally get "stuck" and never move after wandering around for a bit. Change-Id: I01a11ce4bd448c25a818c886825e4fad56dffe03 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3885 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-11-20 r/3076 chore(gs/emacs): Update org<->jira state mappingGriffin Smith1-2/+2
Change-Id: If941c0237f5291bebe201e22cc74484f17b148ae Reviewed-on: https://cl.tvl.fyi/c/depot/+/3884 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-11-20 r/3075 feat(tvl.el): Add magit-gerrit-checkout commandGriffin Smith1-1/+57
Add a new magit-gerrit-checkout command, which prompts for a CL number then fetches and checks out the latest patchset of that CL with a detached HEAD. Change-Id: I88b8209d40017479d97ed40ecbd5fd1ccd7cf650 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3880 Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2021-11-19 r/3074 chore(3p): bump NixOS channels to 2021-11-16sterni1-6/+6
Change-Id: I95572427b041f7a406bee214f5819a698d681661 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3882 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-11-16 r/3073 chore(3p/overlays/tvl): drop override for sbclsterni1-3/+0
nixpkgs has upgraded to SBCL 2.1.9 in the meantime, so dropping the override will ensure that we keep pace with upstream going forward, instead of ending up with an out-of-date SBCL. Change-Id: I5e04532d5ef653de4ec083deee9c9a72522daaf1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3881 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-11-16 r/3072 chore(nixpkgs-crate-holes): whitelist more maintainerssterni1-0/+3
Change-Id: I6ed03ff8cbc590087cfa58264c0c28a7b1496740 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3825 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2021-11-15 r/3071 chore(depot): Restrict access to targets from //corpVincent Ambo1-1/+18
This folder is used for some TVL corp stuff, like the website and maybe some documents and future projects, that are not under the same license as the rest of depot. To avoid accidental licensing issues, access to it is restricted to other stuff within //corp. In general, TVL corp projects *should* also be free software and live outside of //corp - the folder is primarily intended for stuff that is relevant to the company operations (also for the sake of transparency). Change-Id: I15e7e72e82d8ac1c875899f16becd731f64f6b3a Reviewed-on: https://cl.tvl.fyi/c/depot/+/3875 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-11-15 r/3070 refactor(readTree): Flip argument order of argFilterVincent Ambo2-3/+3
Since the filters return 'args', this makes nesting of filters more readable. Change-Id: I775252460e3e077cc6db2fab6f3948414a95ecbf Reviewed-on: https://cl.tvl.fyi/c/depot/+/3873 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-11-15 r/3069 refactor(depot): Generalise folder restriction readTree filterVincent Ambo1-32/+40
This refactors the readTree filter which disallows access to //users from outside of //users into a reusable function. The only change in functionality is that the error message has changed slightly. I thought it is useful to keep the message consistent (i.e. always including a path), thus only a part of the error is templated in (describing the reason for why a specific sub path is unavailable). Change-Id: I30ad38b2677be5aa502c753c8c71e7ba3efc87be Reviewed-on: https://cl.tvl.fyi/c/depot/+/3872 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-11-15 r/3068 chore(3p/overlays): Bump Emacs overlay to 2021-11-14Vincent Ambo1-3/+3
I'm having issues with vterm and I wonder if it's caused by something in another package that is fixed in a newer overlay. Change-Id: Icb89636cd6c72b10558184634b7c9a5b7b8548c5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3877 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-11-15 r/3067 docs(users/profpatsch/blog): rust string conversions: &str -> &OsStrProfpatsch1-0/+1
Change-Id: I215cd311551d54ce42c71d4e80ea18f9a17d4cf8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3879 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>