File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 672672 // TODO: MergeQueueHashStatus
673673 // - .build: trigger targets!
674674 // - .wait: something is building.
675+ // - .completed: hash already built, complete!
675676 // - .*: do nothing
676- // FOR NOW: trigger builds for build/wait
677+ // FOR NOW: trigger builds for build/wait/completed because they are also
678+ // building for SHA.
677679 switch (artifactStatus) {
678- case MergeQueueHashStatus .build || MergeQueueHashStatus .wait
680+ case MergeQueueHashStatus .build ||
681+ MergeQueueHashStatus .wait ||
682+ MergeQueueHashStatus .complete
679683 when _config.flags.contentAwareHashing.waitOnContentHash:
680684 // Note from codefu: We do not have the merge queue lock yet.
681685 // It was short-circuited if the waitOnContentHash is set. The
Original file line number Diff line number Diff line change @@ -191,6 +191,40 @@ void main() async {
191191 ),
192192 ).called (1 );
193193 });
194+
195+ test (
196+ 'triggers tests on waitOnContentHash + completed artifacts (PRE-CAH flip over)' ,
197+ () async {
198+ config.dynamicConfig = DynamicConfig .fromJson ({
199+ 'contentAwareHashing' : {'waitOnContentHash' : true },
200+ });
201+
202+ final job = workflowJobTemplate ().toWorkflowJob ();
203+
204+ firestore.putDocument (
205+ ContentAwareHashBuilds (
206+ createdOn: DateTime (2025 , 05 , 20 ),
207+ contentHash: '65038ef4984b927fd1762ef01d35c5ecc34ff5f7' ,
208+ commitSha: 'a' * 40 ,
209+ buildStatus: BuildStatus .success,
210+ waitingShas: [],
211+ ),
212+ );
213+
214+ await scheduler.processWorkflowJob (job);
215+
216+ verify (
217+ mockGithubChecksUtil.createCheckRun (
218+ any,
219+ RepositorySlug .full ('flutter/flutter' ),
220+ '27bfdee25949bc48044c4e16678f3449dd213b6e' ,
221+ 'Merge Queue Guard' ,
222+ output: anyNamed ('output' ),
223+ conclusion: anyNamed ('conclusion' ),
224+ ),
225+ ).called (1 );
226+ },
227+ );
194228}
195229
196230extension on String {
You can’t perform that action at this time.
0 commit comments