Skip to content

Implement exception/interrupt handlers in hyperlight-guest #61

Implement exception/interrupt handlers in hyperlight-guest

Implement exception/interrupt handlers in hyperlight-guest #61

name: Issue Labeler
on:
issues:
types: [opened]
permissions:
issues: write
contents: read
jobs:
labeler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check and Add label
run: |
# The cryptic head -c -1 is because otherwise gh always terminates output with a newline
readarray -d $'\0' lifecycles < <(gh issue view ${{ github.event.issue.number }} --json labels -q '[.labels[] | .name | select(startswith("lifecycle/"))] | join("\u0000")' | head -c -1)
if [[ ${#lifecycles[@]} -ne 1 ]]; then
if [[ ${#lifecycles[@]} -ge 1 ]]; then
echo 'Too many lifecycle labels; replacing all with `lifecycle/needs review`'
fi
commands=()
for label in "${lifecycles[@]}"; do
if [[ "$label" != "lifecycle/needs review" ]]; then
echo "Removing label ${label}"
commands+=("--remove-label" "${label}")
fi
done
echo 'Adding `lifecycle/needs review`'
commands+=("--add-label" "lifecycle/needs review")
gh issue edit ${{ github.event.issue.number }} "${commands[@]}"
fi
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}