chore: update test demo #2162
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: PR_COMMENT_CI | |
| on: | |
| issue_comment: | |
| types: [created] | |
| jobs: | |
| check: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| next_action: ${{ steps.get-action.outputs.next_action }} | |
| if: ${{ github.event.issue.pull_request }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| repository: Tencent/tdesign | |
| sparse-checkout: | | |
| .github/.pr-comment-ci-whitelist | |
| sparse-checkout-cone-mode: false | |
| - uses: actions/github-script@v7 | |
| id: get-action | |
| with: | |
| script: | | |
| const user = context.payload.comment.user.login | |
| core.info(`user: ${user}`) | |
| const fs = require('fs'); | |
| const whitelist = fs.readFileSync('.github/.pr-comment-ci-whitelist', 'utf8'); | |
| let isWhitelist = false; | |
| whitelist.split('\n').forEach((owner) => { | |
| if (owner === user) { | |
| isWhitelist = true; | |
| } | |
| }); | |
| let next_action = '' | |
| if (isWhitelist) { | |
| const body = context.payload.comment.body | |
| core.info(`body: ${body}`) | |
| if (body.startsWith('/update-common')) { | |
| next_action='update-common' | |
| } | |
| if (body.startsWith('/update-snapshot')) { | |
| next_action='update-snapshot' | |
| } | |
| if(next_action){ | |
| await github.rest.reactions.createForIssueComment({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| comment_id: context.payload.comment.id, | |
| content: 'rocket', | |
| }) | |
| } | |
| } else { | |
| core.warning('You are not collaborator'); | |
| } | |
| core.info(`next_action: ${next_action}`) | |
| core.setOutput('next_action', next_action) | |
| update-common: | |
| needs: check | |
| runs-on: ubuntu-latest | |
| if: ${{ needs.check.outputs.next_action == 'update-common' }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| token: ${{ secrets.PERSONAL_TOKEN }} | |
| - name: gh checkout pr | |
| env: | |
| GH_TOKEN: ${{ secrets.PERSONAL_TOKEN }} | |
| run: gh pr checkout ${{ github.event.issue.number }} --recurse-submodules | |
| - run: git submodule update --remote --merge | |
| - name: Commit Common | |
| run: | | |
| git add . | |
| git config --local user.email "github-actions[bot]@users.noreply.github.com" | |
| git config --local user.name "github-actions[bot]" | |
| git commit -m "chore: update common" | |
| git push | |
| update-snapshot: | |
| needs: check | |
| runs-on: ubuntu-latest | |
| if: ${{ needs.check.outputs.next_action == 'update-snapshot' }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| token: ${{ secrets.PERSONAL_TOKEN }} | |
| - name: gh checkout pr | |
| env: | |
| GH_TOKEN: ${{ secrets.PERSONAL_TOKEN }} | |
| run: gh pr checkout ${{ github.event.issue.number }} --recurse-submodules | |
| - name: bot commtent | |
| id: bot-comment | |
| uses: actions/github-script@v7 | |
| with: | |
| script: | | |
| const url = `${context.serverUrl}//${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}` | |
| const urlLink = `[Open](${url})` | |
| const { data: comment } = await github.rest.issues.createComment({ | |
| issue_number: context.issue.number, | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| body: `⏳ 正在运行快照更新。。。 CI: ${urlLink}` | |
| }) | |
| return comment.id | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 18 | |
| - uses: ./.github/actions/install-dep | |
| - run: npm run test:snap-update | |
| - name: Commit Snapshot | |
| run: | | |
| git add . | |
| git config --local user.email "github-actions[bot]@users.noreply.github.com" | |
| git config --local user.name "github-actions[bot]" | |
| git commit -m "chore: update snapshot" | |
| git push |