Most of the ecosystem has moved to this formatter, and many people configured their editors to autoformat it with this formatter. Closes: https://git.snix.dev/snix/snix/issues/62 Change-Id: Icf39e7836c91fc2ae49fbe22a40a639105bfb0bd Reviewed-on: https://cl.snix.dev/c/snix/+/30671 Reviewed-by: Florian Klink <flokli@flokli.de> Tested-by: besadii Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com>
31 lines
896 B
Nix
31 lines
896 B
Nix
# Check protobuf breaking. Lints already happen in individual targets.
|
|
#
|
|
{
|
|
depot,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}:
|
|
|
|
let
|
|
inherit (depot.nix) bufCheck; # self reference
|
|
|
|
script = pkgs.writeShellScriptBin "ci-buf-check" ''
|
|
export PATH="$PATH:${pkgs.lib.makeBinPath [ pkgs.buf ]}"
|
|
# Report-only
|
|
(cd $(git rev-parse --show-toplevel) && (buf breaking . --against "./.git#ref=HEAD~1" || true))
|
|
'';
|
|
in
|
|
|
|
script.overrideAttrs (old: {
|
|
meta = lib.recursiveUpdate old.meta {
|
|
# Protobuf check step executed in the buildkite pipeline which
|
|
# validates that changes to .proto files between revisions
|
|
# don't cause backwards-incompatible or otherwise flawed changes.
|
|
ci.extraSteps.protoCheck = {
|
|
alwaysRun = true;
|
|
label = ":water_buffalo: protoCheck";
|
|
command = pkgs.writeShellScript "ci-buf-check-step" "exec ${depot.nix.bufCheck}/bin/ci-buf-check";
|
|
};
|
|
};
|
|
})
|