Skip to content

Test label workflow

Test label workflow #8

Workflow file for this run

name: PR Labeler
on: [pull_request]
jobs:
label:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/github-script@v6
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const fs = require('fs');
const path = require('path');
function getFileExtensions(files) {
return files.map(file => path.extname(file).toLowerCase()).filter(ext => ext !== '');
}
async function addLabels(extensions) {
const labels = [];
if (extensions.includes('.mdx')) labels.push('content');
if (extensions.includes('.tsx')) labels.push('code');
if (labels.length > 0) {
await github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: labels
});
}
}
const { data: files } = await github.rest.pulls.listFiles({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number
});
const changedFiles = files.map(f => f.filename);
const extensions = getFileExtensions(changedFiles);
await addLabels(extensions);