Skip to content

Commit 24694c8

Browse files
authored
Opt out bin/internal/engine.version from most presubmits. (#4715)
Closes flutter/flutter#169139.
1 parent 49e3182 commit 24694c8

2 files changed

Lines changed: 32 additions & 4 deletions

File tree

app_dart/lib/src/service/scheduler/files_changed_optimization.dart

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,25 +66,33 @@ final class FilesChangedOptimizer {
6666
log.warn('$refusePrefix: $reason');
6767
return FilesChangedOptimization.none;
6868
case SuccessfulFilesChanged(:final filesChanged):
69-
var markdownOnly = true;
69+
var noSourceImpact = true;
7070
for (final file in filesChanged) {
7171
if (file == 'DEPS' || file.startsWith('engine/')) {
7272
log.info(
7373
'$refusePrefix: Engine sources changed.\n${filesChanged.join('\n')}',
7474
);
7575
return FilesChangedOptimization.none;
7676
}
77-
if (markdownOnly && p.posix.extension(file) != '.md') {
78-
markdownOnly = false;
77+
if (noSourceImpact &&
78+
p.posix.extension(file) != '.md' &&
79+
file != _binInternalEngineVersion) {
80+
noSourceImpact = false;
7981
}
8082
}
81-
if (!markdownOnly) {
83+
if (!noSourceImpact) {
8284
return FilesChangedOptimization.skipPresubmitEngine;
8385
} else {
8486
return FilesChangedOptimization.skipPresubmitAllExceptFlutterAnalyze;
8587
}
8688
}
8789
}
90+
91+
static final _binInternalEngineVersion = p.posix.join(
92+
'bin',
93+
'internal',
94+
'engine.version',
95+
);
8896
}
8997

9098
/// Given a [FilesChanged], a determined safe optimization that can be made.

app_dart/test/service/scheduler/files_changed_optimization_test.dart

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,26 @@ void main() {
152152
);
153153
});
154154

155+
test('include bin/internal/engine.version as ignored', () async {
156+
final optimizer = FilesChangedOptimizer(
157+
getFilesChanged: filesChanged([
158+
'README.md',
159+
'CONTRIBUTING.md',
160+
'bin/internal/engine.version',
161+
'packages/flutter_tools/lib/src/engine/NOT_THE_ENGINE.md',
162+
]),
163+
ciYamlFetcher: ciYamlFetcher(slug: Config.flutterSlug),
164+
config: config(maxFilesChangedForSkippingEnginePhase: 100),
165+
);
166+
167+
await expectLater(
168+
optimizer.checkPullRequest(
169+
generatePullRequest(repo: 'flutter', changedFilesCount: 4, number: 123),
170+
),
171+
completion(FilesChangedOptimization.skipPresubmitAllExceptFlutterAnalyze),
172+
);
173+
});
174+
155175
test('only non-engine files', () async {
156176
final optimizer = FilesChangedOptimizer(
157177
getFilesChanged: filesChanged(['packages/flutter/lib/flutter.dart']),

0 commit comments

Comments
 (0)