mirror of
https://github.com/harvester/harvester-ui-extension.git
synced 2026-05-14 06:51:46 +00:00
55 lines
1.8 KiB
YAML
55 lines
1.8 KiB
YAML
name: "PR Management Auto Assign"
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: ["PR Management Auto Assign Collect Data"]
|
|
types: [completed]
|
|
|
|
env:
|
|
REPO_NAME: harvester/harvester-ui-extension
|
|
|
|
jobs:
|
|
auto-assign:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
|
permissions:
|
|
actions: read
|
|
pull-requests: write
|
|
steps:
|
|
- name: Download PR data artifact
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: pr-auto-assign-data
|
|
run-id: ${{ github.event.workflow_run.id }}
|
|
github-token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
|
|
|
|
- name: Load PR data
|
|
run: |
|
|
cat pr-auto-assign-data.env >> $GITHUB_ENV
|
|
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Auto assign based on config
|
|
env:
|
|
GH_TOKEN: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
|
|
run: |
|
|
# Read config
|
|
ADD_ASSIGNEES=$(yq e '.addAssignees' .github/auto-assign-config.yaml)
|
|
ADD_REVIEWERS=$(yq e '.addReviewers' .github/auto-assign-config.yaml)
|
|
REVIEWERS=$(yq e '.reviewers[]' .github/auto-assign-config.yaml 2>/dev/null || true)
|
|
|
|
# Assign author if addAssignees is 'author'
|
|
if [[ "$ADD_ASSIGNEES" == "author" ]]; then
|
|
echo "Assigning PR author: $PR_AUTHOR"
|
|
gh pr edit "$PR_NUMBER" --repo "${REPO_NAME}" --add-assignee "$PR_AUTHOR"
|
|
fi
|
|
|
|
# Add reviewers if addReviewers is true and reviewers list is non-empty
|
|
if [[ "$ADD_REVIEWERS" == "true" && -n "$REVIEWERS" ]]; then
|
|
SELECTED=$(echo "$REVIEWERS" | xargs)
|
|
echo "Adding reviewers: $SELECTED"
|
|
for reviewer in $SELECTED; do
|
|
gh pr edit "$PR_NUMBER" --repo "${REPO_NAME}" --add-reviewer "$reviewer"
|
|
done
|
|
fi |