1
0
mirror of https://github.com/flutter/samples.git synced 2025-11-08 13:58:47 +00:00
Files
samples/.github/workflows/gemini-issue-scheduled-triage.yml
dependabot[bot] 81be02196d Bump actions/create-github-app-token from 2.0.6 to 2.1.4 (#2735)
Bumps
[actions/create-github-app-token](https://github.com/actions/create-github-app-token)
from 2.0.6 to 2.1.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/create-github-app-token/releases">actions/create-github-app-token's
releases</a>.</em></p>
<blockquote>
<h2>v2.1.4</h2>
<h2><a
href="https://github.com/actions/create-github-app-token/compare/v2.1.3...v2.1.4">2.1.4</a>
(2025-09-13)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> bump <code>@​octokit/auth-app</code> from
7.2.1 to 8.0.1 (<a
href="https://redirect.github.com/actions/create-github-app-token/issues/257">#257</a>)
(<a
href="bef1eaf1c0">bef1eaf</a>)</li>
</ul>
<h2>v2.1.3</h2>
<h2><a
href="https://github.com/actions/create-github-app-token/compare/v2.1.2...v2.1.3">2.1.3</a>
(2025-09-13)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> bump undici from 7.8.0 to 7.10.0 in the
production-dependencies group (<a
href="https://redirect.github.com/actions/create-github-app-token/issues/254">#254</a>)
(<a
href="f3d5ec2073">f3d5ec2</a>)</li>
</ul>
<h2>v2.1.2</h2>
<h2><a
href="https://github.com/actions/create-github-app-token/compare/v2.1.1...v2.1.2">2.1.2</a>
(2025-09-12)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> bump <code>@​octokit/request</code> from
9.2.3 to 10.0.2 (<a
href="https://redirect.github.com/actions/create-github-app-token/issues/256">#256</a>)
(<a
href="5d7307be63">5d7307b</a>)</li>
</ul>
<h2>v2.1.1</h2>
<h2><a
href="https://github.com/actions/create-github-app-token/compare/v2.1.0...v2.1.1">2.1.1</a>
(2025-08-11)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>revert &quot;use <code>node24</code> as runner&quot; (<a
href="https://redirect.github.com/actions/create-github-app-token/issues/278">#278</a>)
(<a
href="5204204e81">5204204</a>),
closes <a
href="https://redirect.github.com/actions/create-github-app-token/issues/267">actions/create-github-app-token#267</a></li>
</ul>
<h2>v2.1.0</h2>
<h1><a
href="https://github.com/actions/create-github-app-token/compare/v2.0.6...v2.1.0">2.1.0</a>
(2025-08-08)</h1>
<h3>Features</h3>
<ul>
<li>use <code>node24</code> as runner (<a
href="https://redirect.github.com/actions/create-github-app-token/issues/267">#267</a>)
(<a
href="a1cbe0fa3c">a1cbe0f</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6701853927"><code>6701853</code></a>
build(release): 2.1.4 [skip ci]</li>
<li><a
href="bef1eaf1c0"><code>bef1eaf</code></a>
fix(deps): bump <code>@​octokit/auth-app</code> from 7.2.1 to 8.0.1 (<a
href="https://redirect.github.com/actions/create-github-app-token/issues/257">#257</a>)</li>
<li><a
href="1526738aa4"><code>1526738</code></a>
build(release): 2.1.3 [skip ci]</li>
<li><a
href="f3d5ec2073"><code>f3d5ec2</code></a>
fix(deps): bump undici from 7.8.0 to 7.10.0 in the
production-dependencies gr...</li>
<li><a
href="def152b8a7"><code>def152b</code></a>
build(release): 2.1.2 [skip ci]</li>
<li><a
href="5d7307be63"><code>5d7307b</code></a>
fix(deps): bump <code>@​octokit/request</code> from 9.2.3 to 10.0.2 (<a
href="https://redirect.github.com/actions/create-github-app-token/issues/256">#256</a>)</li>
<li><a
href="525760a53f"><code>525760a</code></a>
build(deps): bump stefanzweifel/git-auto-commit-action from 5.2.0 to
6.0.1 (#...</li>
<li><a
href="8ab05a8a84"><code>8ab05a8</code></a>
Add beta branch support for releases (<a
href="https://redirect.github.com/actions/create-github-app-token/issues/282">#282</a>)</li>
<li><a
href="d00315e88c"><code>d00315e</code></a>
build(deps): bump actions/checkout from 4 to 5 (<a
href="https://redirect.github.com/actions/create-github-app-token/issues/279">#279</a>)</li>
<li><a
href="fcc6c288e5"><code>fcc6c28</code></a>
build(deps-dev): bump dotenv from 16.5.0 to 17.2.1 (<a
href="https://redirect.github.com/actions/create-github-app-token/issues/269">#269</a>)</li>
<li>Additional commits viewable in <a
href="df432ceedc...6701853927">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/create-github-app-token&package-manager=github_actions&previous-version=2.0.6&new-version=2.1.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-28 11:10:08 +01:00

124 lines
4.5 KiB
YAML

name: '📋 Gemini Scheduled Issue Triage'
on:
schedule:
- cron: '0 * * * *' # Runs every hour
workflow_dispatch:
concurrency:
group: '${{ github.workflow }}'
cancel-in-progress: true
defaults:
run:
shell: 'bash'
permissions:
contents: 'read'
id-token: 'write'
issues: 'write'
statuses: 'write'
jobs:
triage-issues:
timeout-minutes: 5
runs-on: 'ubuntu-latest'
steps:
- name: 'Checkout repository'
uses: 'actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683' # ratchet:actions/checkout@v4
- name: 'Generate GitHub App Token'
id: 'generate_token'
if: |-
${{ vars.APP_ID }}
uses: 'actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42' # ratchet:actions/create-github-app-token@v2
with:
app-id: '${{ vars.APP_ID }}'
private-key: '${{ secrets.APP_PRIVATE_KEY }}'
- name: 'Find untriaged issues'
id: 'find_issues'
env:
GITHUB_TOKEN: '${{ steps.generate_token.outputs.token || secrets.GITHUB_TOKEN }}'
GITHUB_REPOSITORY: '${{ github.repository }}'
GITHUB_OUTPUT: '${{ github.output }}'
run: |-
set -euo pipefail
echo '🔍 Finding issues without labels...'
NO_LABEL_ISSUES="$(gh issue list --repo "${GITHUB_REPOSITORY}" \
--search 'is:open is:issue no:label' --json number,title,body)"
echo '🏷️ Finding issues that need triage...'
NEED_TRIAGE_ISSUES="$(gh issue list --repo "${GITHUB_REPOSITORY}" \
--search 'is:open is:issue label:"status/needs-triage"' --json number,title,body)"
echo '🔄 Merging and deduplicating issues...'
ISSUES="$(echo "${NO_LABEL_ISSUES}" "${NEED_TRIAGE_ISSUES}" | jq -c -s 'add | unique_by(.number)')"
echo '📝 Setting output for GitHub Actions...'
echo "issues_to_triage=${ISSUES}" >> "${GITHUB_OUTPUT}"
ISSUE_COUNT="$(echo "${ISSUES}" | jq 'length')"
echo "✅ Found ${ISSUE_COUNT} issues to triage! 🎯"
- name: 'Run Gemini Issue Triage'
if: |-
${{ steps.find_issues.outputs.issues_to_triage != '[]' }}
uses: 'google-github-actions/run-gemini-cli@v0'
id: 'gemini_issue_triage'
env:
GITHUB_TOKEN: '${{ steps.generate_token.outputs.token || secrets.GITHUB_TOKEN }}'
ISSUES_TO_TRIAGE: '${{ steps.find_issues.outputs.issues_to_triage }}'
REPOSITORY: '${{ github.repository }}'
with:
gemini_cli_version: '${{ vars.GEMINI_CLI_VERSION }}'
gcp_workload_identity_provider: '${{ vars.GCP_WIF_PROVIDER }}'
gcp_project_id: '${{ vars.GOOGLE_CLOUD_PROJECT }}'
gcp_location: '${{ vars.GOOGLE_CLOUD_LOCATION }}'
gcp_service_account: '${{ vars.SERVICE_ACCOUNT_EMAIL }}'
gemini_api_key: '${{ secrets.GEMINI_API_KEY }}'
use_vertex_ai: '${{ vars.GOOGLE_GENAI_USE_VERTEXAI }}'
use_gemini_code_assist: '${{ vars.GOOGLE_GENAI_USE_GCA }}'
settings: |-
{
"maxSessionTurns": 25,
"coreTools": [
"run_shell_command(echo)",
"run_shell_command(gh label list)",
"run_shell_command(gh issue edit)",
"run_shell_command(gh issue list)"
],
"telemetry": {
"enabled": false,
"target": "gcp"
}
}
prompt: |-
## Role
You are an issue triage assistant. Analyze issues and apply
appropriate labels. Use the available tools to gather information;
do not ask for information to be provided.
## Steps
1. Run: `gh label list`
2. Check environment variable: "${ISSUES_TO_TRIAGE}" (JSON array
of issues)
3. For each issue, apply labels:
`gh issue edit "${ISSUE_NUMBER}" --add-label "label1,label2"`.
If available, set labels that follow the `kind/*`, `area/*`,
and `priority/*` patterns.
4. For each issue, if the `status/needs-triage` label is present,
remove it using:
`gh issue edit "${ISSUE_NUMBER}" --remove-label "status/needs-triage"`
## Guidelines
- Only use existing repository labels
- Do not add comments
- Triage each issue independently
- Reference all shell variables as "${VAR}" (with quotes and braces)