Skip to content

feat(sentence): multi-language ordinal + date detection registry #224

feat(sentence): multi-language ordinal + date detection registry

feat(sentence): multi-language ordinal + date detection registry #224

Workflow file for this run

name: Pull Request Size Labeler
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
label:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get PR Size
uses: actions/github-script@v7
with:
script: |
const { data: pr } = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number
});
const size = pr.additions + pr.deletions;
let label = '';
if (size < 10) {
label = 'size/XS';
} else if (size < 30) {
label = 'size/S';
} else if (size < 100) {
label = 'size/M';
} else if (size < 500) {
label = 'size/L';
} else if (size < 1000) {
label = 'size/XL';
} else {
label = 'size/XXL';
}
// Remove existing size labels
const labels = await github.rest.issues.listLabelsOnIssue({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number
});
const sizeLabels = labels.data
.filter(label => label.name.startsWith('size/'))
.map(label => label.name);
for (const oldLabel of sizeLabels) {
await github.rest.issues.removeLabel({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
name: oldLabel
}).catch(() => {}); // Ignore if label doesn't exist
}
// Add new size label
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
labels: [label]
}).catch(() => {}); // Ignore if label doesn't exist