ci: introduce keep-sorted (#2836)

Long lists of items in source code or config can be hard to work with as
a human, most problematic being out-of-order entries in an otherwise
ordered list. This is where keep-sorted comes to the rescue: we can
leave two little comments on every listing we care about, and
keep-sorted ensures that the listing stays in order.

This commit also applied keep-sorted to the CODEOWNERS file, hopefully
demonstrating its usefulness to some extent. I'd expect more uses for
keep-sorted to be discovered organically over time.

keep-sorted is super fast, so it should not be a problem to add it to
the //:tidy target, even if we scan all files in the code base. On my
MacBook:

$ time (find . -not -path "./.git/*" -type f | sort | xargs "${keep_sorted}" --mode fix)

real	0m0.249s
user	0m0.124s
sys	0m0.129s
This commit is contained in:
Markus Rudy 2024-01-30 14:39:49 +01:00 committed by GitHub
parent efc7290454
commit 32d3b4e87c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 167 additions and 43 deletions

View file

@ -12,6 +12,7 @@ package main
import (
_ "github.com/google/go-licenses"
_ "github.com/google/keep-sorted"
_ "github.com/katexochen/sh/v3/cmd/shfmt"
_ "golang.org/x/tools/cmd/stringer"
_ "golang.org/x/vuln/cmd/govulncheck"