55 lines
1.6 KiB
YAML
55 lines
1.6 KiB
YAML
name: Platform triage
|
|
|
|
on:
|
|
issues:
|
|
types: [opened]
|
|
|
|
permissions:
|
|
issues: write
|
|
|
|
jobs:
|
|
triage:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Parse platform from issue body
|
|
id: platform
|
|
uses: actions/github-script@v9
|
|
with:
|
|
script: |
|
|
const body = context.payload.issue.body || '';
|
|
// GitHub issue forms render dropdowns as "### Label\n\nValue"
|
|
const platformMatch = body.match(/### Platform\s*\n\n(.+)/);
|
|
const platform = platformMatch ? platformMatch[1].trim() : '';
|
|
core.setOutput('value', platform);
|
|
|
|
- name: Label and assign macOS issues
|
|
if: steps.platform.outputs.value == 'macOS'
|
|
uses: actions/github-script@v9
|
|
with:
|
|
script: |
|
|
const issue = context.payload.issue.number;
|
|
await github.rest.issues.addLabels({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: issue,
|
|
labels: ['platform:macos']
|
|
});
|
|
await github.rest.issues.addAssignees({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: issue,
|
|
assignees: ['afonsojramos']
|
|
});
|
|
|
|
- name: Label Linux issues
|
|
if: steps.platform.outputs.value == 'Linux'
|
|
uses: actions/github-script@v9
|
|
with:
|
|
script: |
|
|
await github.rest.issues.addLabels({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: context.payload.issue.number,
|
|
labels: ['platform:linux']
|
|
});
|