Skip to content

Commit 7cb2944

Browse files
Do not run when PR is draft (#49)
1 parent 9608fc4 commit 7cb2944

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

dist/index.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29942,6 +29942,14 @@ const documentationRegex = /\.md$/i;
2994229942
const mainPageRegex = /^pages\//;
2994329943
const toolingRegex = /\.([jt]s|py|sh|yml|json)$/;
2994429944
const translationPageRegex = /^pages\.[a-z_]+\//i;
29945+
const getPrDraftStatus = async (octokit, prNumber) => {
29946+
const response = await octokit.rest.pulls.get({
29947+
owner: github_1.context.repo.owner,
29948+
repo: github_1.context.repo.repo,
29949+
pull_number: prNumber,
29950+
});
29951+
return response.data.draft || false;
29952+
};
2994529953
const getChangedFiles = async (octokit, prNumber) => {
2994629954
const listFilesOptions = octokit.rest.pulls.listFiles.endpoint.merge({
2994729955
owner: github_1.context.repo.owner,
@@ -30038,6 +30046,11 @@ const main = async () => {
3003830046
return;
3003930047
}
3004030048
const octokit = (0, github_1.getOctokit)(token);
30049+
const isDraft = await getPrDraftStatus(octokit, prNumber);
30050+
if (isDraft) {
30051+
console.log('PR is in draft mode, skipping');
30052+
return;
30053+
}
3004130054
const changedFiles = await getChangedFiles(octokit, prNumber);
3004230055
const labels = (0, util_1.uniq)(changedFiles.map(file => (0, exports.getFileLabel)(file)).filter((label) => label !== null));
3004330056
const massChangesLabel = (0, exports.getMassChangesLabel)(changedFiles);
@@ -30051,6 +30064,7 @@ const main = async () => {
3005130064
const prLabels = await getPrLabels(octokit, prNumber);
3005230065
const labelsToAdd = labels.filter((label) => !prLabels.includes(label));
3005330066
const extraPrLabels = prLabels.filter((label) => !labels.includes(label));
30067+
console.log(`PR labels: ${prLabels.join(', ')}`);
3005430068
if (labelsToAdd.length) {
3005530069
console.log(`Labels to add: ${labelsToAdd.join(', ')}`);
3005630070
await addLabels(octokit, prNumber, labelsToAdd);

src/labeler.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {getInput, error, setFailed} from '@actions/core';
22
import {context, getOctokit} from '@actions/github';
3-
import {uniq} from './util'
3+
import {uniq} from './util';
44

55
type Octokit = ReturnType<typeof getOctokit>;
66

@@ -55,6 +55,16 @@ const mainPageRegex = /^pages\//;
5555
const toolingRegex = /\.([jt]s|py|sh|yml|json)$/;
5656
const translationPageRegex = /^pages\.[a-z_]+\//i;
5757

58+
const getPrDraftStatus = async (octokit: Octokit, prNumber: number): Promise<boolean> => {
59+
const response = await octokit.rest.pulls.get({
60+
owner: context.repo.owner,
61+
repo: context.repo.repo,
62+
pull_number: prNumber,
63+
});
64+
65+
return response.data.draft || false;
66+
};
67+
5868
const getChangedFiles = async (octokit: Octokit, prNumber: number) => {
5969
const listFilesOptions = octokit.rest.pulls.listFiles.endpoint.merge({
6070
owner: context.repo.owner,
@@ -176,6 +186,13 @@ export const main = async (): Promise<void> => {
176186
}
177187

178188
const octokit: Octokit = getOctokit(token);
189+
190+
const isDraft = await getPrDraftStatus(octokit, prNumber);
191+
if (isDraft) {
192+
console.log('PR is in draft mode, skipping');
193+
return;
194+
}
195+
179196
const changedFiles = await getChangedFiles(octokit, prNumber);
180197

181198
const labels = uniq(

0 commit comments

Comments
 (0)