Skip to content

Commit 4fb809b

Browse files
authored
Remove AcceptMergeRequestResultKind.RebaseFailed status (#19)
1 parent 6c26298 commit 4fb809b

File tree

2 files changed

+10
-24
lines changed

2 files changed

+10
-24
lines changed

src/MergeRequestAcceptor.ts

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ export enum AcceptMergeRequestResultKind {
1616
ClosedMergeRequest,
1717
ReassignedMergeRequest,
1818
CanNotBeMerged,
19-
RebaseFailed,
2019
FailedPipeline,
2120
InvalidPipeline,
2221
Unauthorized,
@@ -59,16 +58,10 @@ interface UnauthorizedResponse {
5958
mergeRequestInfo: MergeRequestInfo;
6059
}
6160

62-
interface RebaseFailedResponse {
63-
kind: AcceptMergeRequestResultKind.RebaseFailed;
64-
mergeRequestInfo: MergeRequestInfo;
65-
}
66-
6761
type AcceptMergeRequestResult = SuccessResponse
6862
| ClosedMergeRequestResponse
6963
| ReassignedMergeRequestResponse
7064
| CanNotBeMergedResponse
71-
| RebaseFailedResponse
7265
| FailedPipelineResponse
7366
| InvalidPipelineResponse
7467
| UnauthorizedResponse;
@@ -126,13 +119,6 @@ export const acceptMergeRequest = async (gitlabApi: GitlabApi, mergeRequest: Mer
126119
throw new Error(`Unexpected MR status: ${mergeRequestInfo.state}`);
127120
}
128121

129-
if (mergeRequestInfo.merge_error !== null) {
130-
return {
131-
kind: AcceptMergeRequestResultKind.RebaseFailed,
132-
mergeRequestInfo,
133-
};
134-
}
135-
136122
if (mergeRequestInfo.rebase_in_progress) {
137123
console.log(`[MR] Still rebasing`);
138124
await Promise.all(tasks);

src/index.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -102,20 +102,20 @@ const runMergeRequestCheckerLoop = async (user: User) => {
102102
}
103103

104104
if (result.kind === AcceptMergeRequestResultKind.CanNotBeMerged) {
105-
await Promise.all([
106-
tryCancelPipeline(gitlabApi, result.mergeRequestInfo, user),
107-
setBotLabels(gitlabApi, result.mergeRequestInfo, []),
108-
]);
105+
let message = 'Merge request can\'t be merged';
106+
const errorMessage = result.mergeRequestInfo.merge_error;
107+
if (result.mergeRequestInfo.work_in_progress) {
108+
message += `: MR is marked as WIP`;
109+
} else if (errorMessage !== null) {
110+
message += `: ${errorMessage}`;
111+
}
109112

110-
return;
111-
}
112-
113-
if (result.kind === AcceptMergeRequestResultKind.RebaseFailed) {
114-
console.log(`[MR] rebase failed: ${result.mergeRequestInfo.merge_error}, assigning back`);
113+
console.log(`[MR] merge failed: ${message}, assigning back`);
115114

116115
await Promise.all([
117116
assignToAuthorAndResetLabels(gitlabApi, result.mergeRequestInfo),
118-
sendNote(gitlabApi, mergeRequest, `Merge request can't be merged: ${result.mergeRequestInfo.merge_error}`),
117+
tryCancelPipeline(gitlabApi, result.mergeRequestInfo, user),
118+
sendNote(gitlabApi, mergeRequest, message),
119119
]);
120120

121121
return;

0 commit comments

Comments
 (0)