Commit graph

13257 commits

Author SHA1 Message Date
Vincent Ambo
94cebe41f3 chore(ops/git-serving): Remove josh state from whitby backups
As cschilling explained on cl/3563, there isn't actually anything in
this state that we *need* to persist. We're still keeping it in a
persistent directory on disk as this serves as an optimisation after
restarts of josh.

Change-Id: Ia88886792a5acac34508b5b8a669bd519ca033de
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3631
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-24 16:14:30 +00:00
Vincent Ambo
289de14fc4 feat(web/tvl): Use new TVL logo on the main homepage
Change-Id: I4b12b33bab54dbb099d97eaa4c14ca3072c4cd66
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3628
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-24 15:31:01 +00:00
Vincent Ambo
2229a32ae9 fix(web/tvl/logo): Fix bounding box of the SVG file
This trims the huge amount of whitespace on all sides of the logo.

Change-Id: Ic14247e002839db729131550f7c7528d080ab519
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3627
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-24 15:31:01 +00:00
Vincent Ambo
48d5724dab chore(3p/nixpkgs): Update to 2021-09-24
I tried to remove the awscli2 override, the build no longer fails but
just hangs infinitely on unstable now, so it's staying in for the time
being.

Change-Id: I871b0f5bffe0edf4db815ca4df2c3f142bc9e13d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3630
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-24 15:27:52 +00:00
tazjin
0f55942bed Merge "feat(web/tvl): Check in first version of new TVL logo" into canon 2021-09-24 13:54:49 +00:00
Vincent Ambo
273e9cdd6d feat(tazjin/russian): Check in a bunch of word roots
These are then loosely referenced by corresponding words in the big
word list.

I think what I'll be aiming for is a bunch of interesting lookup
functions (give me all words I know with this root etc.)

Change-Id: I664976c3c1521334ea58c7ba943f5c18d5513bf9
2021-09-23 19:57:08 +03:00
Vincent Ambo
d5f459fa6e feat(tazjin/russian): Helper function for Викисловарь lookups
Change-Id: Id3325fcb1c29cbd4d3f9f7933f50ce2c2f25731f
2021-09-23 19:43:28 +03:00
Vincent Ambo
ef75d83c96 feat(tazjin/russian): Check-in words 101-200
Still not sure what it is, but I have some ideas now.

Change-Id: Iad67f8429516f28516136bd2e4590f9f9686e4af
2021-09-23 19:25:21 +03:00
Vincent Ambo
ecfc6dcb57 feat(tazjin/russian): Check-in words 1-100
What is this? Well, I don't know yet - but I'm going to figure out a
way to make it useful.

Change-Id: I7fbfdf226d85d3edfff479c52308304ef41d6091
2021-09-23 19:25:21 +03:00
Vincent Ambo
8d40c84408 feat(web/tvl): Check in first version of new TVL logo
The exported SVG was hand-edited to make it as understandable as
possible, the components within it are grouped sensibly.

We noticed that it looks best with different fill colours for the
armchair, so some included Nix code generates a colour animation (e.g.
for the homepage) and differently coloured export PNGs (for different
places).

Thanks Varia <3

Change-Id: Ifdb5f4ff7827caf10d193b99e81b7c8498b35ce4
2021-09-22 21:28:43 +03:00
Vincent Ambo
d0c0227a7b refactor(web/tvl/template): Don't forcefully embed title in page
This hands more layout control back to the page content instead of the
template. There are cases (currently experimenting with logo layout)
where it's visually nicer if there isn't a page title, but the rest of
the template still applies.

Change-Id: Ia3cd0c750beec5408e631760f1faeea8efec91db
2021-09-22 21:28:43 +03:00
Vincent Ambo
87c141d3d7 chore(3p/nixpkgs): Bump channels to 2021-09-20
Included fixes:

* grfn/mugwump: removed superfluous Buildkite agent user
* tazjin/camden: Disabled bitlbee (user config is broken)
* grfn/home/vim: vimUtils expects a `pname`
* 3p/nixpkgs: Pick awscli2 from stable channel

Change-Id: I64ed726b3350f75c7a8a0e6552bcf1d8d9ba7d46
2021-09-21 14:45:11 +03:00
Vincent Ambo
43b1791ec6 chore(3p/git): Unvendor git and track patches instead
This was vendored a long time ago under the expectation that keeping
it in sync with cgit would be easier this way, but it has proven not
to be a big issue.

On the other hand, a vendored copy of git is an annoying maintenance
burden. It is much easier to rebase the single (dottime) patch that we
have.

This removes the vendored copy of git and instead passes the git
source code to cgit via `pkgs.srcOnly`, which includes the applied
patch so that cgit can continue rendering dottime.

Change-Id: If31f62dea7ce688fd1b9050204e9378019775f2b
2021-09-21 14:29:35 +03:00
Christian Hesse
2d8e7dc9d9 chore(3p/cgit): git: update to v2.32.0
Update to git version v2.32.0, this requires changes for these
upstream commits:

* 47957485b3b731a7860e0554d2bd12c0dce1c75a
  tree.h API: simplify read_tree_recursive() signature

Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: I9c37205af2e67d03f9cdd3d39e4fbd611bfa7288
2021-09-21 14:14:08 +03:00
Christian Hesse
b0926aa53d chore(3p/cgit): git: update to v2.31.1
Update to git version v2.31.1, no additional changes required.

Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: I3e0312e59b065ec39906d00ffa8e762f82b7305f
2021-09-21 14:14:08 +03:00
Christian Hesse
3d5020a5d8 fix(3p/cgit): md2html: use proper formatting for hr
This addressed a non-existent background image and made the element
invisible. Drop the style and use something sane.

Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: I4f94466742008b9cdb231358199074de6e4424ee
2021-09-21 14:14:07 +03:00
Christian Hesse
bf4cfeb477 chore(3p/cgit): git: update to v2.31.0
Update to git version v2.31.0, this requires changes for these
upstream commits:

* 36a317929b8f0c67d77d54235f2d20751c576cbb
  refs: switch peel_ref() to peel_iterated_oid()

Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: Idb3abf22eb68ba5219f22075811884bbce786c3b
2021-09-21 14:14:07 +03:00
Christian Hesse
847d037a02 chore(3p/cgit): git: update to v2.30.1
Update to git version v2.30.1, no additional changes required.

Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: I9c8a572fcef2dbb3164ecc397dc071240eba8480
2021-09-21 14:14:07 +03:00
Todd Zullinger
35630558ff test(3p/cgit): t0107: support older and/or non-GNU tar
The untar tests for various compression algorithms use shortcut options
from GNU tar to handle decompression.  These options may not be provided
by non-GNU tar nor even by slightly older GNU tar versions which ship on
many systems.

An example of the latter case is the --zstd option.  This was added in
GNU tar-1.32 (2019-02-23)¹.  This version of tar is not provided by
CentOS/RHEL, in particular.  In Debian, --zstd has been backported to
the tar-1.30 release.

Avoid the requirement on any specific implementations or versions of tar
by piping decompressed output to tar.  This is compatible with older GNU
tar releases as well as tar implementations from other vendors.  (It may
also be a slight benefit that this more closely matches what the
snapshot creation code does.)

¹ Technically, the --zstd option was first released in tar-1.31
  (2019-01-02), but this release was very short-lived and is no longer
  listed on the GNU Tar release page.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Change-Id: Ib65412cd1d23312ddd4cf840c09efc32512d3122
2021-09-21 14:14:05 +03:00
Jason A. Donenfeld
44996c4461 refactor(3p/cgit): md2html: use sane_lists extension
This allows for cleaner nesting semantics and matches github more
closely.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Change-Id: I93dacc0c276fefb28d67379ef38b8647c584244b
2021-09-21 14:10:17 +03:00
Christian Hesse
86f7901533 chore(3p/cgit): git: update to v2.30.0
Update to git version v2.30.0, this requires changes for these
upstream commits:

* 88894aaeeae92e8cb41143cc2e045f50289dc790
  blame: simplify 'setup_scoreboard' interface

* 1fbfdf556f2abc708183caca53ae4e2881b46ae2
  banned.h: mark non-reentrant gmtime, etc as banned

Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: I6076ef250102010b601c92e9ea5bab2061b77006
2021-09-21 14:10:15 +03:00
Christian Hesse
eab788e961 chore(3p/cgit): git: update to v2.29.2
Update to git version v2.29.2.

No changes required.

Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: I8a3c12fdaa492ede79a750eea4b78f750dbfa18f
2021-09-21 14:10:13 +03:00
Christian Hesse
67b44822b3 chore(3p/cgit): git: update to v2.29.1
Update to git version v2.29.1. No functional change, but we want latest
and greated version number, no? 😜

Signed-off-by: Christian Hesse <mail@eworm.de>
Change-Id: Ie890ace2e88dca0d7defb1cac5a2723699f794db
2021-09-21 14:10:06 +03:00
Vincent Ambo
766677748d fix(3p/overlays/tvl): Add fix for Steam web view issue
See https://github.com/NixOS/nixpkgs/issues/137279

Change-Id: Id47f87396ad5e46c98080c7910d337d2643bcbd5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3604
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-09-20 19:56:35 +00:00
Vincent Ambo
0939d4bf05 refactor(depot): Import depot.path using lib.cleanSource
This imports a copy of the depot as `depot.path` without including the
.git directory and other stuff that isn't tracked in the tree.

Significantly reduces thie amount of data copied into the store.

Change-Id: I567c0f969d1cea81d121588548f6db627c8f3432
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3601
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-20 08:30:04 +00:00
Vincent Ambo
0e3858b5e5 refactor(whitby): Move restic path configuration into modules
This lets each service declare their backup paths together with the
configuration for the service, which is a lot more sensible than what
we had before.

Fixes b/147

Change-Id: If76fe62639f4cc0e6fbb63a2959d584479d8f0fb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3583
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-18 15:10:34 +00:00
Vincent Ambo
86a114ac45 fix(ops/restic): types.string -> types.str
I can never remember which is which.

Change-Id: I69b8235862b8c5b49030a74bfca25aaa113273b7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3582
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-18 14:38:19 +00:00
Vincent Ambo
98e4d4b18f feat(besadii): Link to started builds in CL comments
This makes it easier to click through to a build from Gerrit after
submitting a CL.

Change-Id: Ic5c6eeb81c87bc4ea23c5c5ca25704434b081fd0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3572
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
2021-09-18 14:28:26 +00:00
Vincent Ambo
ae93094ebf refactor(besadii): Extract logic for posting review comments
Currently besadii only posts comments when builds succeed, but it
might be very useful to also have a link to a build when the build is
started.

This just shuffles code around. The only functional change is that the
`labels` field in the review input is marked as `omitempty`, as this
will not be needed when posting the build start comment.

Change-Id: Id4a43fad8817c9a15da02f01ab2b781d48b46978
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3571
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
2021-09-18 14:28:26 +00:00
sterni
9a89446478 fix(web/tvl): consistently uppercase Profpatsch
Him and me floating on our own is kinda cute, but breaks the graph.

Change-Id: I043b327172781447bd0ce923e78e72f34bbff41b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3573
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-09-18 14:25:18 +00:00
Vincent Ambo
b6957923ff docs(kontemplate): Remove mention of kontemplate website
This doesn't exist anymore.

Change-Id: I4535e056acba3bbc7bbd1e764a0b3043639b0877
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3570
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-09-18 12:35:47 +00:00
Vincent Ambo
8cd0e92f7c feat(tazjin/gruber-darker): Check in first version of Quassel theme
Change-Id: I5a79f4d6ccd8ddae4a6e24c356d4b7498ffb3c49
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3569
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-09-18 12:06:15 +00:00
Vincent Ambo
88b3f367e9 style(tazjin/emacs): Reenable my original dark theme
There's no longer an Egyptian fireball in the sky, so I can go back to
normal.

Change-Id: I6fdcd12f3d3e62c367115f3712cc0fd36eeff78d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3568
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-09-18 12:06:15 +00:00
sterni
852d059e2f feat(nix/nint): accept attribute set with stdout, stderr and exit
This extends the calling convention for nint in a non-breaking way: If
the called script returns an attribute set instead of a string the
following is done:

* If the attributes `stdout` and/or `stderr` exist, their content (which
  must be a string currently) is written to the respective output.

* If the attribute `exit` exists, nint will exit with the given exit
  code. Must be a number that can be converted to an `i32`. If it's
  missing, nint will exit without indicating an error.

Change-Id: I209cf178fee3d970fdea3b26e4049e944af47457
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3547
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-09-18 11:56:22 +00:00
sterni
5dec982334 refactor(nix/runTestsuite): clean up runTestsuite
* goodAss wasn't used before. Simplify it to just return a boolean, so
  we can use it for partitionTests later.

* goodIt also returns unnecessary extra meta information which is not
  used. Cleaning that up makes the condition extremely small, so we can
  inline it into (what was) goodIts.

* goodIts is just called in one place, so we can inline it into res.

Change-Id: I70cf4fa3f61ce1467a2ee5319f841cdd42db6a66
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3548
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-09-17 11:47:41 +00:00
sterni
bef796d1d9 test(nix/utils): unit test storePathName
Change-Id: I4208cf9e3c5e1d922ee5b5bffd034e4ac6d0e2c0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3543
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-09-17 11:00:09 +00:00
Vincent Ambo
80fb67a75d docs(kontemplate): Update cloning docs in README
Change-Id: I42bf2524650bf09104e48c1c1a54c97f3470b628
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3566
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2021-09-16 20:34:05 +00:00
Vincent Ambo
387c55582b refactor(ops/restic): Move restic configuration into a new module
Relates to b/147.

First step towards giving depot modules the ability to declare their
own backup directories by moving all restic configuration into a new
module and adding a NixOS option for inclusion/exclusion paths for
backups.

This still keeps all backup paths within the whitby config.

Change-Id: Ia96833668f1a3d02da892261153d8b02156b8ac0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3565
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2021-09-16 20:34:05 +00:00
Vincent Ambo
ec38839c33 feat(git-serving): Configure josh to serve the depot over HTTP
Previously we served the dumb git HTTP protocol from code.tvl.fyi via
cgit. This CL disables this feature and instead runs josh in the same
location (by redirecting appropriately), but while also enabling
partial cloning of all subtrees of the depot.

For example, after this CL the following would result in an
independent clone of //nix/readTree:

    git clone https://code.tvl.fyi/depot.git:/nix/readTree.git

Note that there are no josh workspaces configured at all for now,
these references are only for static depot subpaths.

Please refer to the documentation for josh for more information on
available kinds of josh filters.

Josh state is kept in a systemd state directory in /var/lib/josh and
backed up to Restic. Backing this up is necessary, as josh uses
stateful information to do things like tracking merges and rewriting
history per subtree appropriately to avoid cloned repositories ending
up in peculiar states.

Change-Id: I156f0298c2aa42e3bdbf5a0e86109070d640c56e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3563
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2021-09-16 20:34:05 +00:00
Vincent Ambo
f35afb0e4a chore(cgit-taz): Disable HTTP git serving
We don't need this anymore as josh will be doing it instead.

Change-Id: I04324324fefa2b44604a8a5fad4dd3c7b7fe97a3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3564
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2021-09-16 20:34:05 +00:00
Adrián Medraño Calvo
c6ad2b638e refactor(3p/exwm): Remove `exwm-input--skip-buffer-list-update'
* exwm-input.el: (exwm-input--on-buffer-list-update): Stop
	checking `exwm-input--skip-buffer-list-update'; it's no longer
	needed now that we keep track of the last selected window and
	buffer.
	(exwm-input--skip-buffer-list-update): Remove variable.

	* exwm-manage.el (exwm-manage--manage-window): Remove binding of
	`exwm-input--skip-buffer-list-update'.

Imported from https://github.com/ch11ng/exwm/pull/737

Change-Id: Iacbdb8b607a82352e5b55509b0aba93f1d87a9f2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3562
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-09-16 11:33:42 +00:00
Qiang Fang
e74f12f85b refactor(3p/exwm): Improve detection of focus changes
* exwm-input.el: (exwm-input--on-buffer-list-update): Keep track
	of last selected window and buffer, update focus only when any
	of those changes.
	(exwm-input--update-focus-defer): Add commentary.
	(exwm-input--update-focus-window-buffer): Add
	variable.

Imported from https://github.com/ch11ng/exwm/pull/737

Copyright-paperwork-exempt: yes
Co-Author: Adrián Medraño Calvo <adrian@medranocalvo.com>
Change-Id: I3e53bcf45f04d0f9a88b757dffefe6de20daadfb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3561
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-09-16 11:33:42 +00:00
Vincent Ambo
6cfee7ef5a chore(3p/josh): Bump version to latest master
Change-Id: I01b58653a9d0067deb9644ecfa4d4b3bd75185a9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3557
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-16 01:19:16 +00:00
Matt Beshara
2be5ed1d4a fix(3p/exwm): Use hash table to cache ‘exwm-workspace--client-p’
Commit imported from https://github.com/ch11ng/exwm/pull/848

Change-Id: I2b5509649b6933b52ed5df7f7fad7f3720f5facd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3560
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-09-16 01:18:59 +00:00
Vincent Ambo
d0f7c85eb6 chore(3p/overlays): Override EXWM sources with tree from depot
Change-Id: I6047ab634deb2f019bcdc9a76a2194997fc84b29
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3559
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-16 01:18:59 +00:00
tazjin
6012ac8c1e Merge "chore(3p/exwm): Subtree EXWM ... again" into canon 2021-09-16 01:16:56 +00:00
sterni
d7f60bcb04 feat(nix/readTree): record list of children added by readTree
This change adds a new attribute to readTree nodes, `__readTreeChildren`
which is a list of attribute names added to this node by readTree.

This is then used by `gather` for `ci.targets` to avoid evaluating
attributes unnecessarily. Especially since Nix is not as lazy as we'd
like when determining types (i. e. child ? __readTree needs to force
`child` even when it's not an attribute set), evaluating attributes
unnecessarily is sometimes problematic.

Change-Id: I0a98691d41f987e23ee7e9ba21fbe465da5fe402
2021-09-15 22:37:25 +00:00
sterni
d904724adf refactor(rust-crates-advisory): check type instead of blacklisting
`our-crates` can just check if the attributes in question are
derivation (i. e. have an `outPath`) instead of blacklisting the
`__readTree` attribute specifically.

Change-Id: I472692e89c0e9eff551372c72a73ab765b0b6599
2021-09-15 22:35:23 +00:00
Vincent Ambo
cefff2ca25 chore(3p/exwm): Subtree EXWM ... again
Upstream EXWM is now sort-of unmaintained[0], but some important PRs
are pending[1] which I would like to absorb here somehow.

[0]: https://github.com/ch11ng/exwm/issues/845
[1]: https://github.com/ch11ng/exwm/pull/848

git-subtree-dir: third_party/exwm
git-subtree-mainline: 7894d7e178
git-subtree-split: 0368127976
Change-Id: I078358c0ea1d2bac99111748ce9c137d2804ac4e
2021-09-15 22:35:39 +03:00
Vincent Ambo
7894d7e178 feat(3p/cgit): Highlight cheddar callout in about views
Change-Id: Ica055ab621608ff78dbbf9ea9a2c9d1cdf2ff21e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3556
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-09-15 13:53:28 +00:00