chore(deps): bump actions/create-github-app-token from 2.1.1 to 2.2.1 in /examples/workflows/gemini-dispatch #1150
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: '🔀 Gemini Dispatch' | |
| on: | |
| pull_request_review_comment: | |
| types: | |
| - 'created' | |
| pull_request_review: | |
| types: | |
| - 'submitted' | |
| pull_request: | |
| types: | |
| - 'opened' | |
| issues: | |
| types: | |
| - 'opened' | |
| - 'reopened' | |
| issue_comment: | |
| types: | |
| - 'created' | |
| defaults: | |
| run: | |
| shell: 'bash' | |
| jobs: | |
| debugger: | |
| if: |- | |
| ${{ fromJSON(vars.GEMINI_DEBUG || vars.ACTIONS_STEP_DEBUG || false) }} | |
| runs-on: 'ubuntu-latest' | |
| permissions: | |
| contents: 'read' | |
| steps: | |
| - name: 'Print context for debugging' | |
| env: | |
| DEBUG_event_name: '${{ github.event_name }}' | |
| DEBUG_event__action: '${{ github.event.action }}' | |
| DEBUG_event__comment__author_association: '${{ github.event.comment.author_association }}' | |
| DEBUG_event__issue__author_association: '${{ github.event.issue.author_association }}' | |
| DEBUG_event__pull_request__author_association: '${{ github.event.pull_request.author_association }}' | |
| DEBUG_event__review__author_association: '${{ github.event.review.author_association }}' | |
| DEBUG_event: '${{ toJSON(github.event) }}' | |
| run: |- | |
| env | grep '^DEBUG_' | |
| dispatch: | |
| # For PRs: only if not from a fork | |
| # For issues: only on open/reopen | |
| # For comments: only if user types @gemini-cli and is OWNER/MEMBER/COLLABORATOR | |
| if: |- | |
| ( | |
| github.event_name == 'pull_request' && | |
| github.event.pull_request.head.repo.fork == false | |
| ) || ( | |
| github.event_name == 'issues' && | |
| contains(fromJSON('["opened", "reopened"]'), github.event.action) | |
| ) || ( | |
| github.event.sender.type == 'User' && | |
| startsWith(github.event.comment.body || github.event.review.body || github.event.issue.body, '@gemini-cli') && | |
| contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association || github.event.review.author_association || github.event.issue.author_association) | |
| ) | |
| runs-on: 'ubuntu-latest' | |
| permissions: | |
| contents: 'read' | |
| issues: 'write' | |
| pull-requests: 'write' | |
| outputs: | |
| command: '${{ steps.extract_command.outputs.command }}' | |
| request: '${{ steps.extract_command.outputs.request }}' | |
| additional_context: '${{ steps.extract_command.outputs.additional_context }}' | |
| issue_number: '${{ github.event.pull_request.number || github.event.issue.number }}' | |
| steps: | |
| - name: 'Mint identity token' | |
| id: 'mint_identity_token' | |
| if: |- | |
| ${{ vars.APP_ID }} | |
| uses: 'actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b' # ratchet:actions/create-github-app-token@v2 | |
| with: | |
| app-id: '${{ vars.APP_ID }}' | |
| private-key: '${{ secrets.APP_PRIVATE_KEY }}' | |
| permission-contents: 'read' | |
| permission-issues: 'write' | |
| permission-pull-requests: 'write' | |
| - name: 'Extract command' | |
| id: 'extract_command' | |
| uses: 'actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea' # ratchet:actions/github-script@v7 | |
| env: | |
| EVENT_TYPE: '${{ github.event_name }}.${{ github.event.action }}' | |
| REQUEST: '${{ github.event.comment.body || github.event.review.body || github.event.issue.body }}' | |
| with: | |
| script: | | |
| const eventType = process.env.EVENT_TYPE; | |
| const request = process.env.REQUEST; | |
| core.setOutput('request', request); | |
| if (eventType === 'pull_request.opened') { | |
| core.setOutput('command', 'review'); | |
| } else if (['issues.opened', 'issues.reopened'].includes(eventType)) { | |
| core.setOutput('command', 'triage'); | |
| } else if (request.startsWith("@gemini-cli /review")) { | |
| core.setOutput('command', 'review'); | |
| const additionalContext = request.replace(/^@gemini-cli \/review/, '').trim(); | |
| core.setOutput('additional_context', additionalContext); | |
| } else if (request.startsWith("@gemini-cli /triage")) { | |
| core.setOutput('command', 'triage'); | |
| } else if (request.startsWith("@gemini-cli /fix")) { | |
| core.setOutput('command', 'fix'); | |
| } else if (request.startsWith("@gemini-cli")) { | |
| const additionalContext = request.replace(/^@gemini-cli/, '').trim(); | |
| core.setOutput('command', 'invoke'); | |
| core.setOutput('additional_context', additionalContext); | |
| } else { | |
| core.setOutput('command', 'fallthrough'); | |
| } | |
| - name: 'Acknowledge request' | |
| env: | |
| GITHUB_TOKEN: '${{ steps.mint_identity_token.outputs.token || secrets.GITHUB_TOKEN || github.token }}' | |
| ISSUE_NUMBER: '${{ github.event.pull_request.number || github.event.issue.number }}' | |
| MESSAGE: |- | |
| 🤖 Hi @${{ github.actor }}, I've received your request, and I'm working on it now! You can track my progress [in the logs](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) for more details. | |
| REPOSITORY: '${{ github.repository }}' | |
| run: |- | |
| gh issue comment "${ISSUE_NUMBER}" \ | |
| --body "${MESSAGE}" \ | |
| --repo "${REPOSITORY}" | |
| review: | |
| needs: 'dispatch' | |
| if: |- | |
| ${{ needs.dispatch.outputs.command == 'review' }} | |
| uses: './.github/workflows/gemini-review.yml' | |
| permissions: | |
| contents: 'read' | |
| id-token: 'write' | |
| issues: 'write' | |
| pull-requests: 'write' | |
| with: | |
| additional_context: '${{ needs.dispatch.outputs.additional_context }}' | |
| secrets: 'inherit' | |
| triage: | |
| needs: 'dispatch' | |
| if: |- | |
| ${{ needs.dispatch.outputs.command == 'triage' }} | |
| uses: './.github/workflows/gemini-triage.yml' | |
| permissions: | |
| contents: 'read' | |
| id-token: 'write' | |
| issues: 'write' | |
| pull-requests: 'write' | |
| with: | |
| additional_context: '${{ needs.dispatch.outputs.additional_context }}' | |
| secrets: 'inherit' | |
| fix: | |
| needs: 'dispatch' | |
| if: |- | |
| ${{ needs.dispatch.outputs.command == 'fix' }} | |
| uses: './.github/workflows/gemini-issue-fixer.yml' | |
| permissions: | |
| contents: 'write' | |
| id-token: 'write' | |
| issues: 'write' | |
| pull-requests: 'write' | |
| secrets: 'inherit' | |
| invoke: | |
| needs: 'dispatch' | |
| if: |- | |
| ${{ needs.dispatch.outputs.command == 'invoke' }} | |
| uses: './.github/workflows/gemini-invoke.yml' | |
| permissions: | |
| contents: 'read' | |
| id-token: 'write' | |
| issues: 'write' | |
| pull-requests: 'write' | |
| with: | |
| additional_context: '${{ needs.dispatch.outputs.additional_context }}' | |
| secrets: 'inherit' | |
| fallthrough: | |
| needs: | |
| - 'dispatch' | |
| - 'review' | |
| - 'triage' | |
| - 'invoke' | |
| if: |- | |
| ${{ always() && !cancelled() && (failure() || needs.dispatch.outputs.command == 'fallthrough') }} | |
| runs-on: 'ubuntu-latest' | |
| permissions: | |
| contents: 'read' | |
| issues: 'write' | |
| pull-requests: 'write' | |
| steps: | |
| - name: 'Mint identity token' | |
| id: 'mint_identity_token' | |
| if: |- | |
| ${{ vars.APP_ID }} | |
| uses: 'actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b' # ratchet:actions/create-github-app-token@v2 | |
| with: | |
| app-id: '${{ vars.APP_ID }}' | |
| private-key: '${{ secrets.APP_PRIVATE_KEY }}' | |
| permission-contents: 'read' | |
| permission-issues: 'write' | |
| permission-pull-requests: 'write' | |
| - name: 'Send failure comment' | |
| env: | |
| GITHUB_TOKEN: '${{ steps.mint_identity_token.outputs.token || secrets.GITHUB_TOKEN || github.token }}' | |
| ISSUE_NUMBER: '${{ github.event.pull_request.number || github.event.issue.number }}' | |
| MESSAGE: |- | |
| 🤖 I'm sorry @${{ github.actor }}, but I was unable to process your request. Please [see the logs](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) for more details. | |
| REPOSITORY: '${{ github.repository }}' | |
| run: |- | |
| gh issue comment "${ISSUE_NUMBER}" \ | |
| --body "${MESSAGE}" \ | |
| --repo "${REPOSITORY}" |