@@ -29942,6 +29942,14 @@ const documentationRegex = /\.md$/i;
29942
29942
const mainPageRegex = /^pages\//;
29943
29943
const toolingRegex = /\.([jt]s|py|sh|yml|json)$/;
29944
29944
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
+ };
29945
29953
const getChangedFiles = async (octokit, prNumber) => {
29946
29954
const listFilesOptions = octokit.rest.pulls.listFiles.endpoint.merge({
29947
29955
owner: github_1.context.repo.owner,
@@ -30038,6 +30046,11 @@ const main = async () => {
30038
30046
return;
30039
30047
}
30040
30048
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
+ }
30041
30054
const changedFiles = await getChangedFiles(octokit, prNumber);
30042
30055
const labels = (0, util_1.uniq)(changedFiles.map(file => (0, exports.getFileLabel)(file)).filter((label) => label !== null));
30043
30056
const massChangesLabel = (0, exports.getMassChangesLabel)(changedFiles);
@@ -30051,6 +30064,7 @@ const main = async () => {
30051
30064
const prLabels = await getPrLabels(octokit, prNumber);
30052
30065
const labelsToAdd = labels.filter((label) => !prLabels.includes(label));
30053
30066
const extraPrLabels = prLabels.filter((label) => !labels.includes(label));
30067
+ console.log(`PR labels: ${prLabels.join(', ')}`);
30054
30068
if (labelsToAdd.length) {
30055
30069
console.log(`Labels to add: ${labelsToAdd.join(', ')}`);
30056
30070
await addLabels(octokit, prNumber, labelsToAdd);
0 commit comments