diff options
-rw-r--r-- | nix/bufCheck/default.nix | 29 | ||||
-rw-r--r-- | ops/pipelines/depot.nix | 9 |
2 files changed, 23 insertions, 15 deletions
diff --git a/nix/bufCheck/default.nix b/nix/bufCheck/default.nix index d0f07d996b73..ec98cfc3760c 100644 --- a/nix/bufCheck/default.nix +++ b/nix/bufCheck/default.nix @@ -1,9 +1,26 @@ # Check protobuf breaking. Lints already happen in individual targets. # -{ depot, pkgs, ... }: +{ depot, pkgs, lib, ... }: -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)) -'' +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"; + }; + }; +}) diff --git a/ops/pipelines/depot.nix b/ops/pipelines/depot.nix index 5f02e7edfbb8..5eff62267168 100644 --- a/ops/pipelines/depot.nix +++ b/ops/pipelines/depot.nix @@ -3,18 +3,9 @@ { depot, pkgs, externalArgs, ... }: let - # Protobuf check step which validates that changes to .proto files - # between revisions don't cause backwards-incompatible or otherwise - # flawed changes. - protoCheck = { - command = "${depot.nix.bufCheck}/bin/ci-buf-check"; - label = ":water_buffalo: protoCheck"; - }; - pipeline = depot.nix.buildkite.mkPipeline { headBranch = "refs/heads/canon"; drvTargets = depot.ci.targets; - additionalSteps = [ protoCheck ]; parentTargetMap = if (externalArgs ? parentTargetMap) |