snix/nix/bufCheck/default.nix
Ilan Joselevich 91d02d8c84 style: Switch to nixfmt from nixpkgs-fmt
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>
2025-08-10 13:40:23 +00:00

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";
};
};
})