mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-08-15 06:19:24 +02:00
58 lines
2.2 KiB
YAML
58 lines
2.2 KiB
YAML
name: Apply labels to PR
|
|
on:
|
|
pull_request_target:
|
|
# required for pr-labeler to support PRs from forks
|
|
# ===================== ⛔ ☢️ 🚫 ⚠️ Warning ⚠️ 🚫 ☢️ ⛔ =======================
|
|
# Be very careful what you put in this GitHub Action workflow file to avoid
|
|
# malicious PRs from getting access to the Mermaid-js repo.
|
|
#
|
|
# Please read the following first before reviewing/merging:
|
|
# - https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target
|
|
# - https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
|
|
types: [opened, reopened, synchronize]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
pr-labeler:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read # read permission is required to read config file
|
|
pull-requests: write # write permission is required to label PRs
|
|
steps:
|
|
- name: Label PR
|
|
uses: release-drafter/release-drafter@b1476f6e6eb133afa41ed8589daba6dc69b4d3f5 # v6.1.0
|
|
with:
|
|
config-name: pr-labeler.yml
|
|
disable-autolabeler: false
|
|
disable-releaser: true
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Add "Sponsored by MermaidChart" label
|
|
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
|
with:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
script: |
|
|
const prNumber = context.payload.pull_request.number;
|
|
const { data: commits } = await github.rest.pulls.listCommits({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
pull_number: prNumber,
|
|
});
|
|
|
|
const isSponsored = commits.every(
|
|
(c) => c.commit.author.email?.endsWith('@mermaidchart.com')
|
|
);
|
|
|
|
if (isSponsored) {
|
|
console.log('PR is sponsored. Adding label.');
|
|
await github.rest.issues.addLabels({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: prNumber,
|
|
labels: ['Sponsored by MermaidChart'],
|
|
});
|
|
}
|