Skip to content

Commit cbca8df

Browse files
authored
refactor: check-inactive action ignores already tagged issues (#220)
* refactor: `check-inactive` action ignores already tagged issues * refactor: collect issue number * chore: update * chore: format
1 parent 483e55d commit cbca8df

File tree

1 file changed

+25
-5
lines changed

1 file changed

+25
-5
lines changed

src/helper/advanced.ts

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ export async function doCheckInactive(body: string, emoji?: string) {
144144
const excludeIssueNumbers = dealStringToArr(core.getInput('exclude-issue-numbers') || '').map(
145145
Number,
146146
);
147+
const hasInactiveLabelIssueNumbers: number[] = [];
147148
for (const issue of issues) {
148149
const { labels, number } = issue;
149150
if (excludeIssueNumbers?.includes(number)) continue;
@@ -153,9 +154,16 @@ export async function doCheckInactive(body: string, emoji?: string) {
153154
await doAddLabels([inactiveLabel], number);
154155
if (body) await doCreateComment(body, emoji, number);
155156
} else {
156-
core.info(`[doCheckInactive] The issue ${number} already has ${inactiveLabel} label!`);
157+
hasInactiveLabelIssueNumbers.push(number);
157158
}
158159
}
160+
if (hasInactiveLabelIssueNumbers.length) {
161+
core.info(
162+
`[doCheckInactive] These issues already has ${inactiveLabel} label! ` +
163+
JSON.stringify(hasInactiveLabelIssueNumbers) +
164+
' total ${hasInactiveLabelIssueNumbers.length}',
165+
);
166+
}
159167
} else {
160168
core.info(`[doCheckInactive] Query issues empty!`);
161169
}
@@ -317,10 +325,22 @@ export async function doLockIssues(body: string, emoji?: string) {
317325
const issues = await doQueryIssues(issueState as TIssueState | 'all');
318326

319327
if (issues.length) {
320-
for (const { number } of issues.filter(issue => !issue.locked)) {
321-
core.info(`[doLockIssues] Doing ---> ${number}`);
322-
if (body) await doCreateComment(body, emoji, number);
323-
await doLockIssue(number);
328+
const hasLockedIssueNumbers: number[] = [];
329+
for (const { number, locked } of issues) {
330+
if (!locked) {
331+
core.info(`[doLockIssues] Doing ---> ${number}`);
332+
if (body) await doCreateComment(body, emoji, number);
333+
await doLockIssue(number);
334+
} else {
335+
hasLockedIssueNumbers.push(number);
336+
}
337+
}
338+
if (hasLockedIssueNumbers.length) {
339+
core.info(
340+
`[doLockIssues] Locked issues ---> ${JSON.stringify(hasLockedIssueNumbers)} total ${
341+
hasLockedIssueNumbers.length
342+
}`,
343+
);
324344
}
325345
} else {
326346
core.info(`[doLockIssues] Query issues empty!`);

0 commit comments

Comments
 (0)