Skip to content

Commit 5a7d324

Browse files
authored
Blocking manual action detection fix (#60)
1 parent b23c4f8 commit 5a7d324

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

src/GitlabApi.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ export enum PipelineStatus {
6666
Canceled = 'canceled',
6767
Skipped = 'skipped',
6868
Created = 'created',
69+
WaitingForResource = 'waiting_for_resource',
70+
Preparing = 'preparing',
71+
Manual = 'manual',
72+
Scheduled = 'scheduled',
6973
}
7074

7175
export interface MergeRequestPipeline {

src/MergeRequestAcceptor.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,14 @@ export enum BotLabels {
115115
WaitingForPipeline = 'waiting-for-pipeline',
116116
}
117117

118+
const startingOrInProgressPipelineStatuses = [
119+
PipelineStatus.Running,
120+
PipelineStatus.Pending,
121+
PipelineStatus.Created,
122+
PipelineStatus.WaitingForResource,
123+
PipelineStatus.Preparing,
124+
];
125+
118126
const containsLabel = (labels: string[], label: BotLabels) => labels.includes(label);
119127
const containsAssignedUser = (mergeRequest: MergeRequest, user: User) => {
120128
const userIds = mergeRequest.assignees.map((assignee) => assignee.id);
@@ -280,7 +288,7 @@ export const acceptMergeRequest = async (gitlabApi: GitlabApi, mergeRequest: Mer
280288
}
281289

282290
if (currentPipeline !== null) {
283-
if (currentPipeline.status === PipelineStatus.Running || currentPipeline.status === PipelineStatus.Pending) {
291+
if (startingOrInProgressPipelineStatuses.includes(currentPipeline.status)) {
284292
if (!containsLabel(mergeRequestInfo.labels, BotLabels.WaitingForPipeline)) {
285293
tasks.push(
286294
gitlabApi.updateMergeRequest(mergeRequestInfo.project_id, mergeRequestInfo.iid, {
@@ -311,7 +319,7 @@ export const acceptMergeRequest = async (gitlabApi: GitlabApi, mergeRequest: Mer
311319
};
312320
}
313321

314-
if (currentPipeline.status === PipelineStatus.Created) {
322+
if (currentPipeline.status === PipelineStatus.Manual) {
315323
return {
316324
kind: AcceptMergeRequestResultKind.WaitingPipeline,
317325
mergeRequestInfo,

0 commit comments

Comments
 (0)