diff --git a/script/tool/lib/src/common/package_state_utils.dart b/script/tool/lib/src/common/package_state_utils.dart index f6b053d18462..91769888f361 100644 --- a/script/tool/lib/src/common/package_state_utils.dart +++ b/script/tool/lib/src/common/package_state_utils.dart @@ -193,6 +193,8 @@ Future _isDevChange( return _isTestChange(pathComponents) || // Agent directories (.agents/) are for developer-only utility tools (skills, scripts). pathComponents.first == '.agents' || + // Eval directories (evals/) are for evaluation utility code. + pathComponents.first == 'evals' || // The top-level "tool" directory is for non-client-facing utility // code, such as test scripts. pathComponents.first == 'tool' || diff --git a/script/tool/test/common/package_state_utils_test.dart b/script/tool/test/common/package_state_utils_test.dart index fb00fb53aea2..ad32c7da88ee 100644 --- a/script/tool/test/common/package_state_utils_test.dart +++ b/script/tool/test/common/package_state_utils_test.dart @@ -117,6 +117,22 @@ void main() { expect(state.needsChangelogChange, false); }); + test('does not require version or changelog change for evals changes', () async { + final RepositoryPackage package = createFakePlugin('a_plugin', packagesDir); + + const changedFiles = ['packages/a_plugin/evals/foo.dart']; + + final PackageChangeState state = await checkPackageChangeState( + package, + changedPaths: changedFiles, + relativePackagePath: 'packages/a_plugin/', + ); + + expect(state.hasChanges, true); + expect(state.needsVersionChange, false); + expect(state.needsChangelogChange, false); + }); + test('only considers a root "tool" folder to be special', () async { final RepositoryPackage package = createFakePlugin('a_plugin', packagesDir);