diff --git a/src/signals/path-matchers.ts b/src/signals/path-matchers.ts index dd664e903f..5d306063a9 100644 --- a/src/signals/path-matchers.ts +++ b/src/signals/path-matchers.ts @@ -97,8 +97,11 @@ function isGeneratedFileFrom(parts: NormalizedPath): boolean { /_pb2(_grpc)?\.pyi?$/.test(norm) || // Ruby protobuf: message stubs are `*_pb.rb`; the gRPC plugin emits sibling `*_services_pb.rb`. /_pb\.rb$/.test(norm) || - // PHP protobuf: message stubs are `*_pb.php`; the gRPC plugin emits sibling `*_grpc_pb.php`. + // PHP protobuf: message stubs are `*_pb.php`; the gRPC plugin emits sibling `*_grpc_pb.php` + // and grpc-php service stubs (`*Grpc.php`, `*GrpcStub.php`). /_pb\.php$/.test(norm) || + /grpc\.php$/.test(norm) || + /grpcstub\.php$/i.test(norm) || // Nim protobuf: message stubs are `*_pb.nim`. /_pb\.nim$/.test(norm) || // Lua protobuf: message stubs are `*_pb.lua`. diff --git a/test/unit/path-matchers.test.ts b/test/unit/path-matchers.test.ts index 0784b26778..973ff17e18 100644 --- a/test/unit/path-matchers.test.ts +++ b/test/unit/path-matchers.test.ts @@ -100,6 +100,8 @@ describe("isGeneratedFile", () => { "gen/service_services_pb.rb", "gen/service_pb.php", "gen/service_grpc_pb.php", + "gen/GreeterGrpc.php", + "gen/FooGrpcStub.php", "proto/messages.pb.rs", "lib/my_proto.pb.ex", "proto/service.grpc.swift", @@ -110,6 +112,8 @@ describe("isGeneratedFile", () => { expect(isGeneratedFile(path)).toBe(false); } expect(classifyChangedFile("gen/service_grpc_pb.php")).toBe("generated"); + expect(classifyChangedFile("gen/GreeterGrpc.php")).toBe("generated"); + expect(classifyChangedFile("gen/FooGrpcStub.php")).toBe("generated"); expect(classifyChangedFile("lib/my_proto.pb.ex")).toBe("generated"); expect(classifyChangedFile("proto/service.grpc.swift")).toBe("generated"); }); @@ -526,6 +530,8 @@ describe("classifyChangedFile", () => { ["dist/app.min.js", "minified"], ["src/api.generated.ts", "generated"], ["gen/service_grpc_pb.php", "generated"], + ["gen/GreeterGrpc.php", "generated"], + ["gen/FooGrpcStub.php", "generated"], ["lib/my_proto.pb.ex", "generated"], ["proto/service.grpc.swift", "generated"], ["proto/messages.pb.erl", "generated"],