I WANT TO SEND THREE NUMPY ARRAY BY ONE TIME #1204
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "Dora Bot" | |
| on: | |
| issue_comment: | |
| types: [created] | |
| schedule: | |
| - cron: "0 0 * * *" # Midnight(UTC) | |
| jobs: | |
| assign-unassign: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| issues: write | |
| if: github.event_name == 'issue_comment' | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v3 | |
| - name: Parses comment then assign/unassign user | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| COMMENT_BODY: "${{ github.event.comment.body }}" | |
| ISSUE_NUMBER: "${{ github.event.issue.number }}" | |
| COMMENT_AUTHOR: "${{ github.event.comment.user.login }}" | |
| AUTHOR_ASSOCIATION: "${{ github.event.comment.author_association }}" | |
| run: | | |
| # For assigning | |
| if [[ "$COMMENT_BODY" == "@dora-bot assign me" ]]; then | |
| echo "Assigning $COMMENT_AUTHOR to issue #$ISSUE_NUMBER" | |
| curl -X POST \ | |
| -H "Authorization: Bearer $GITHUB_TOKEN" \ | |
| -H "Accept: application/vnd.github+json" \ | |
| https://api.github.com/repos/${{ github.repository }}/issues/$ISSUE_NUMBER/assignees \ | |
| -d "{\"assignees\":[\"$COMMENT_AUTHOR\"]}" | |
| # Returns a comment back | |
| curl -X POST \ | |
| -H "Authorization: Bearer $GITHUB_TOKEN" \ | |
| -H "Accept: application/vnd.github+json" \ | |
| https://api.github.com/repos/${{ github.repository }}/issues/$ISSUE_NUMBER/comments \ | |
| -d "{\"body\":\"Hello @$COMMENT_AUTHOR, this issue is now assigned to you!\"}" | |
| # for unassigning(self) | |
| elif [[ "$COMMENT_BODY" == "@dora-bot unassign me" ]]; then | |
| echo "Unassigning $COMMENT_AUTHOR from issue #$ISSUE_NUMBER" | |
| curl -X DELETE \ | |
| -H "Authorization: Bearer $GITHUB_TOKEN" \ | |
| -H "Accept: application/vnd.github+json" \ | |
| https://api.github.com/repos/${{ github.repository }}/issues/$ISSUE_NUMBER/assignees \ | |
| -d "{\"assignees\":[\"$COMMENT_AUTHOR\"]}" | |
| # Returns a comment back | |
| curl -X POST \ | |
| -H "Authorization: Bearer $GITHUB_TOKEN" \ | |
| -H "Accept: application/vnd.github+json" \ | |
| https://api.github.com/repos/${{ github.repository }}/issues/$ISSUE_NUMBER/comments \ | |
| -d "{\"body\":\"Hello @$COMMENT_AUTHOR, you have been unassigned from this issue.\"}" | |
| # Command to help maintainers to unassign | |
| elif [[ "$COMMENT_BODY" =~ @dora-bot\ unassign\ [@]?([a-zA-Z0-9_-]+) ]]; then | |
| TARGET_USER="${BASH_REMATCH[1]}" | |
| # Checking that the comment author has proper permissions | |
| if [[ "$AUTHOR_ASSOCIATION" == "NONE" || "$AUTHOR_ASSOCIATION" == "CONTRIBUTOR" ]]; then | |
| echo "Unauthorized unassign command by $COMMENT_AUTHOR. Only maintainers or collaborators may unassign others." | |
| exit 1 | |
| fi | |
| echo "Maintainer $COMMENT_AUTHOR is unassigning $TARGET_USER from issue #$ISSUE_NUMBER" | |
| curl -X DELETE \ | |
| -H "Authorization: Bearer $GITHUB_TOKEN" \ | |
| -H "Accept: application/vnd.github+json" \ | |
| https://api.github.com/repos/${{ github.repository }}/issues/$ISSUE_NUMBER/assignees \ | |
| -d "{\"assignees\":[\"$TARGET_USER\"]}" | |
| curl -X POST \ | |
| -H "Authorization: Bearer $GITHUB_TOKEN" \ | |
| -H "Accept: application/vnd.github+json" \ | |
| https://api.github.com/repos/${{ github.repository }}/issues/$ISSUE_NUMBER/comments \ | |
| -d "{\"body\":\"Hello @$TARGET_USER, you have been unassigned from this issue by @$COMMENT_AUTHOR.\"}" | |
| else | |
| echo "No matching command found in comment: $COMMENT_BODY" | |
| fi | |
| stale-unassign: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| issues: write | |
| if: github.event_name == 'schedule' | |
| steps: | |
| - name: Unassign stale issues | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| # Calculate the timestamp for 14 days ago | |
| TWO_WEEKS_AGO=$(date -d "14 days ago" +%s) | |
| repo="${{ github.repository }}" | |
| echo "Fetching open issues for $repo" | |
| issues=$(curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \ | |
| -H "Accept: application/vnd.github+json" \ | |
| "https://api.github.com/repos/${repo}/issues?state=open&per_page=100") | |
| issue_count=$(echo "$issues" | jq '. | length') | |
| echo "Found $issue_count open issues" | |
| for (( i=0; i<$issue_count; i++ )); do | |
| issue_number=$(echo "$issues" | jq -r ".[$i].number") | |
| updated_at=$(echo "$issues" | jq -r ".[$i].updated_at") | |
| updated_ts=$(date -d "$updated_at" +%s) | |
| # If the issue hasn't been updated within 2 weeks, consider it stale. | |
| if [[ $updated_ts -lt $TWO_WEEKS_AGO ]]; then | |
| assignees=$(echo "$issues" | jq -r ".[$i].assignees | .[].login") | |
| if [[ -n "$assignees" ]]; then | |
| echo "Issue #$issue_number is stale. Unassigning users: $assignees" | |
| for user in $assignees; do | |
| curl -X DELETE \ | |
| -H "Authorization: Bearer $GITHUB_TOKEN" \ | |
| -H "Accept: application/vnd.github+json" \ | |
| https://api.github.com/repos/${repo}/issues/$issue_number/assignees \ | |
| -d "{\"assignees\":[\"$user\"]}" | |
| curl -X POST \ | |
| -H "Authorization: Bearer $GITHUB_TOKEN" \ | |
| -H "Accept: application/vnd.github+json" \ | |
| https://api.github.com/repos/${repo}/issues/$issue_number/comments \ | |
| -d "{\"body\":\"@${user} has been automatically unassigned from this stale issue after 2 weeks of inactivity.\"}" | |
| done | |
| fi | |
| fi | |
| done |