Skip to content

0.25.3

0.25.3 #61

Workflow file for this run

name: label-pr
on:
pull_request_target:
types:
- opened
- synchronize
- reopened
- labeled
- unlabeled
permissions:
contents: read
pull-requests: write
jobs:
add-labels:
name: Add pull request labels
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 6.0.2
with:
repository: ${{ github.event.pull_request.base.repo.full_name }}
ref: ${{ github.event.pull_request.base.ref }}
persist-credentials: false
- name: Classify pull request
id: classify
uses: ./.github/actions/classify-pr
- name: Add labels
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # 8.0.0
env:
DOCS: ${{ steps.classify.outputs.docs }}
CI: ${{ steps.classify.outputs.ci }}
RELEASE: ${{ steps.classify.outputs.release }}
with:
script: |
const desiredLabels = {
documentation: process.env.DOCS === 'true',
ci: process.env.CI === 'true',
release: process.env.RELEASE === 'true',
};
const owner = context.repo.owner;
const repo = context.repo.repo;
const issue_number = context.payload.pull_request.number;
const currentLabels = new Set(
context.payload.pull_request.labels.map(({ name }) => name),
);
const labelsToAdd = Object.entries(desiredLabels)
.filter(([, shouldBePresent]) => shouldBePresent)
.map(([name]) => name)
.filter((name) => !currentLabels.has(name));
if (labelsToAdd.length > 0) {
await github.rest.issues.addLabels({
owner,
repo,
issue_number,
labels: labelsToAdd,
});
}