Skip to content

refactor(core): try run task in spawn thread #1526

refactor(core): try run task in spawn thread

refactor(core): try run task in spawn thread #1526

name: Notify Lark on Issue and PR
on:
issues:
types: [opened]
pull_request:
types: [opened]
jobs:
notify-lark:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
- name: Check if triggered by project member
id: check_member
if: github.event.sender.type == 'User' && github.actor != 'renovate'
run: |
SENDER=${{ github.event.sender.login }}
TEAMS_FILE="./.github/teams.yml"
if grep -qi -- "\"@$SENDER\"" $TEAMS_FILE; then
echo "::set-output name=skip::true"
echo "Workflow triggered by a project member: $SENDER , will NOT trigger lark notify"
else
echo "::set-output name=skip::false"
fi
- name: Notify Lark for Issue
if: steps.check_member.outputs.skip != 'true' && github.event_name == 'issues'
env:
LARK_WEBHOOK_URL: ${{ secrets.LARK_CONTRIBUTION_HOOK }}
ISSUE_TITLE: ${{ github.event.issue.title }}
AUTHOR_ID: ${{ github.event.issue.user.login }}
BODY: ${{ github.event.issue.body }}
URL: ${{ github.server_url }}/${{ github.repository }}/issues/${{ github.event.issue.number }}
run: |
SHORT_BODY=$(echo "$BODY" | head -n 3) TITLE="New Issue Opened: $ISSUE_TITLE" DESCRIPTION="Issue by @$AUTHOR_ID: $SHORT_BODY. View more at $URL" TPL_COLOR="blue" TPL_BTN_TYPE="primary" ./scripts/alert/lark.js
- name: Notify Lark for PR
if: steps.check_member.outputs.skip != 'true' && github.event_name == 'pull_request'
env:
LARK_WEBHOOK_URL: ${{ secrets.LARK_CONTRIBUTION_HOOK }}
PR_TITLE: ${{ github.event.pull_request.title }}
AUTHOR_ID: ${{ github.event.pull_request.user.login }}
BODY: ${{ github.event.pull_request.body }}
URL: ${{ github.server_url }}/${{ github.repository }}/pull/${{ github.event.pull_request.number }}
run: |
SHORT_BODY=$(echo "$BODY" | head -n 3) TITLE="New PR Opened: $PR_TITLE" DESCRIPTION="PR by @$AUTHOR_ID: $SHORT_BODY. Check it out at $URL" TPL_COLOR="blue" TPL_BTN_TYPE="primary" ./scripts/alert/lark.js