0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-25 08:19:38 +01:00
nodejs/.github/workflows/label-flaky-test-issue.yml
Gabriela Gutierrez de696d70ef
tools: add GitHub token permissions to label flaky-test issues
Signed-off-by: Gabriela Gutierrez <gabigutierrez@google.com>
PR-URL: https://github.com/nodejs/node/pull/45308
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2022-12-04 00:17:54 +00:00

54 lines
1.6 KiB
YAML

name: Label Flaky Test Issues
on:
issues:
types: [opened, labeled]
permissions:
contents: read
jobs:
label:
if: github.event.label.name == 'flaky-test'
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Extract labels
id: extract-labels
env:
BODY: ${{ github.event.issue.body }}
run: |
BODY="${BODY//$'\n'/'\n'}"
declare -A platform2label
platform2label["AIX"]="aix";
platform2label["FreeBSD"]="freebsd";
platform2label["Linux ARM64"]="linux";
platform2label["Linux ARMv7"]="arm";
platform2label["Linux PPC64LE"]="ppc";
platform2label["Linux s390x"]="s390";
platform2label["Linux x64"]="linux";
platform2label["macOS ARM64"]="macos";
platform2label["macOS x64"]="macos";
platform2label["SmartOS"]="smartos";
platform2label["Windows"]="windows";
# sed is cleaning up the edges
PLATFORMS=$(echo $BODY | sed 's/^.*Platform\\n\\n//' | sed 's/\(, Other\)\?\\n\\n.*$//') 2> /dev/null
readarray -d , -t list <<< "$PLATFORMS"
labels=
for row in "${list[@]}"; do \
platform=$(echo $row | xargs); \
labels="${labels}${platform2label[$platform]},"; \
done;
echo "LABELS=${labels::-1}" >> $GITHUB_OUTPUT
- name: Add labels
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NUMBER: ${{ github.event.issue.number }}
run: gh issue edit "$NUMBER" --repo ${{ github.repository }} --add-label "${{ steps.extract-labels.outputs.LABELS }}"