mirror of
https://github.com/actions/stale.git
synced 2025-12-17 17:17:13 +00:00
update from master
This commit is contained in:
10
lib/main.js
10
lib/main.js
@@ -47,6 +47,10 @@ function processIssues(client, args, operationsLeft, page = 1) {
|
||||
core.debug(`found issue: ${issue.title} last updated ${issue.updated_at}`);
|
||||
let isPr = !!issue.pull_request;
|
||||
let staleMessage = isPr ? args.stalePrMessage : args.staleIssueMessage;
|
||||
if (!staleMessage) {
|
||||
core.debug(`skipping ${isPr ? "pr" : "issue"} due to empty message`);
|
||||
continue;
|
||||
}
|
||||
let staleLabel = isPr ? args.stalePrLabel : args.staleIssueLabel;
|
||||
if (isLabeledStale(issue, staleLabel)) {
|
||||
if (wasLastUpdatedBefore(issue, args.daysBeforeClose)) {
|
||||
@@ -68,12 +72,12 @@ function processIssues(client, args, operationsLeft, page = 1) {
|
||||
});
|
||||
}
|
||||
function isLabeledStale(issue, label) {
|
||||
return issue.labels.filter(i => i.name === label).length > 0;
|
||||
const labelComparer = l => label.localeCompare(l.name, undefined, { sensitivity: 'accent' });
|
||||
return issue.labels.filter(labelComparer).length > 0;
|
||||
}
|
||||
function wasLastUpdatedBefore(issue, num_days) {
|
||||
const daysInMillis = 1000 * 60 * 60 * num_days;
|
||||
const millisSinceLastUpdated = new Date().getTime() - new Date(issue.updated_at).getTime();
|
||||
core.debug(`${daysInMillis}, ${millisSinceLastUpdated}`);
|
||||
return millisSinceLastUpdated >= daysInMillis;
|
||||
}
|
||||
function markStale(client, issue, staleMessage, staleLabel) {
|
||||
@@ -110,7 +114,7 @@ function getAndValidateArgs() {
|
||||
const args = {
|
||||
repoToken: core.getInput('repo-token', { required: true }),
|
||||
staleIssueMessage: core.getInput('stale-issue-message'),
|
||||
stalePrMessage: core.getInput('stale-pr-message', { required: true }),
|
||||
stalePrMessage: core.getInput('stale-pr-message'),
|
||||
daysBeforeStale: parseInt(core.getInput('days-before-stale', { required: true })),
|
||||
daysBeforeClose: parseInt(core.getInput('days-before-close', { required: true })),
|
||||
staleIssueLabel: core.getInput('stale-issue-label', { required: true }),
|
||||
|
||||
Reference in New Issue
Block a user