Skip to content

Commit 4b64232

Browse files
authored
Use mergeRequest.head_pipeline instead of mergeRequest.pipeline (#172)
1 parent 812ba9b commit 4b64232

File tree

3 files changed

+8
-21
lines changed

3 files changed

+8
-21
lines changed

server/src/GitlabApi.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,6 @@ export interface MergeRequestInfo extends MergeRequest {
117117
base_sha: string;
118118
head_sha: string;
119119
};
120-
pipeline: MergeRequestPipeline | null;
121120
head_pipeline: MergeRequestPipeline | null;
122121
diverged_commits_count: number;
123122
rebase_in_progress: boolean;

server/src/MergeRequestAcceptor.ts

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -315,18 +315,6 @@ export const acceptMergeRequest = async (
315315
};
316316
}
317317

318-
if (
319-
mergeRequestInfo.pipeline !== null &&
320-
startingOrInProgressPipelineStatuses.includes(mergeRequestInfo.pipeline.status)
321-
) {
322-
return {
323-
kind: AcceptMergeRequestResultKind.PipelineInProgress,
324-
mergeRequestInfo,
325-
user,
326-
pipeline: mergeRequestInfo.pipeline,
327-
};
328-
}
329-
330318
// the latest pipeline is incomplete / has failed
331319
if (
332320
mergeRequestInfo.head_pipeline !== null &&
@@ -446,7 +434,7 @@ const resolveCurrentPipeline = async (
446434
user: User,
447435
mergeRequestInfo: MergeRequestInfo,
448436
): Promise<MergeRequestPipeline | null | false> => {
449-
let currentPipeline: MergeRequestPipeline | null = mergeRequestInfo.pipeline;
437+
let currentPipeline: MergeRequestPipeline | null = mergeRequestInfo.head_pipeline;
450438

451439
if (currentPipeline === null || currentPipeline.sha !== mergeRequestInfo.sha) {
452440
const pipelines = await gitlabApi.getMergeRequestPipelines(
@@ -460,7 +448,7 @@ const resolveCurrentPipeline = async (
460448

461449
if (currentPipelineCandidate === undefined) {
462450
const message =
463-
mergeRequestInfo.pipeline === null
451+
mergeRequestInfo.head_pipeline === null
464452
? `[MR][${mergeRequestInfo.iid}] Merge request can't be merged. Pipeline does not exist`
465453
: `[MR][${mergeRequestInfo.iid}] Merge request can't be merged. The latest pipeline is not executed on the latest commit`;
466454
console.log(message);
@@ -638,7 +626,7 @@ export const runAcceptingMergeRequest = async (
638626
kind: AcceptMergeRequestResultKind.InvalidPipeline,
639627
mergeRequestInfo,
640628
user,
641-
pipeline: mergeRequestInfo.pipeline,
629+
pipeline: mergeRequestInfo.head_pipeline,
642630
};
643631
}
644632

server/src/PipelineCanceller.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,24 @@ export const tryCancelPipeline = async (
55
mergeRequestInfo: MergeRequestInfo,
66
user: User,
77
): Promise<void> => {
8-
if (mergeRequestInfo.pipeline === null) {
8+
if (mergeRequestInfo.head_pipeline === null) {
99
return;
1010
}
1111

1212
if (
13-
mergeRequestInfo.pipeline.status !== PipelineStatus.Running &&
14-
mergeRequestInfo.pipeline.status !== PipelineStatus.Pending
13+
mergeRequestInfo.head_pipeline.status !== PipelineStatus.Running &&
14+
mergeRequestInfo.head_pipeline.status !== PipelineStatus.Pending
1515
) {
1616
return;
1717
}
1818

1919
const mergeRequestPipeline = await gitlabApi.getPipeline(
2020
mergeRequestInfo.project_id,
21-
mergeRequestInfo.pipeline.id,
21+
mergeRequestInfo.head_pipeline.id,
2222
);
2323
if (mergeRequestPipeline.user.id !== user.id) {
2424
return;
2525
}
2626

27-
await gitlabApi.cancelPipeline(mergeRequestInfo.project_id, mergeRequestInfo.pipeline.id);
27+
await gitlabApi.cancelPipeline(mergeRequestInfo.project_id, mergeRequestInfo.head_pipeline.id);
2828
};

0 commit comments

Comments
 (0)