Skip to content

Commit d317a49

Browse files
authored
Merge branch 'main' into main
2 parents b01b87e + c3cf1c6 commit d317a49

449 files changed

Lines changed: 43011 additions & 21496 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ steps:
2222
id: 'Determine Docker Image Tag'
2323
entrypoint: 'bash'
2424
args:
25-
- -c
26-
- |
25+
- '-c'
26+
- |-
2727
SHELL_TAG_NAME="$TAG_NAME"
2828
FINAL_TAG="$SHORT_SHA" # Default to SHA
2929
if [[ "$$SHELL_TAG_NAME" == *"-nightly"* ]]; then
@@ -44,8 +44,8 @@ steps:
4444
id: 'Build sandbox Docker image'
4545
entrypoint: 'bash'
4646
args:
47-
- -c
48-
- |
47+
- '-c'
48+
- |-
4949
export GEMINI_SANDBOX_IMAGE_TAG=$$(cat /workspace/image_tag.txt)
5050
echo "Using Docker image tag for build: $$GEMINI_SANDBOX_IMAGE_TAG"
5151
npm run build:sandbox -- --output-file /workspace/final_image_uri.txt
@@ -57,8 +57,8 @@ steps:
5757
id: 'Publish sandbox Docker image'
5858
entrypoint: 'bash'
5959
args:
60-
- -c
61-
- |
60+
- '-c'
61+
- |-
6262
set -e
6363
FINAL_IMAGE_URI=$$(cat /workspace/final_image_uri.txt)
6464
@@ -68,7 +68,7 @@ steps:
6868
- 'GEMINI_SANDBOX=$_CONTAINER_TOOL'
6969

7070
options:
71-
defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
71+
defaultLogsBucketBehavior: 'REGIONAL_USER_OWNED_BUCKET'
7272
dynamicSubstitutions: true
7373

7474
substitutions:

.gemini/config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
have_fun: false
44
code_review:
55
disable: false
6-
comment_severity_threshold: HIGH
6+
comment_severity_threshold: 'HIGH'
77
max_review_comments: -1
88
pull_request_opened:
99
help: false
Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,38 @@
1-
name: Bug Report
2-
description: Report a bug to help us improve Gemini CLI
3-
labels: ['kind/bug', 'status/need-triage']
1+
name: 'Bug Report'
2+
description: 'Report a bug to help us improve Gemini CLI'
3+
labels:
4+
- 'kind/bug'
5+
- 'status/need-triage'
46
body:
5-
- type: markdown
7+
- type: 'markdown'
68
attributes:
7-
value: |
8-
> [!IMPORTANT]
9+
value: |-
10+
> [!IMPORTANT]
911
> Thanks for taking the time to fill out this bug report!
1012
>
1113
> Please search **[existing issues](https://github.com/google-gemini/gemini-cli/issues)** to see if an issue already exists for the bug you encountered.
1214
13-
- type: textarea
14-
id: problem
15+
- type: 'textarea'
16+
id: 'problem'
1517
attributes:
16-
label: What happened?
17-
description: A clear and concise description of what the bug is.
18+
label: 'What happened?'
19+
description: 'A clear and concise description of what the bug is.'
1820
validations:
1921
required: true
2022

21-
- type: textarea
22-
id: expected
23+
- type: 'textarea'
24+
id: 'expected'
2325
attributes:
24-
label: What did you expect to happen?
26+
label: 'What did you expect to happen?'
2527
validations:
2628
required: true
2729

28-
- type: textarea
29-
id: info
30+
- type: 'textarea'
31+
id: 'info'
3032
attributes:
31-
label: Client information
32-
description: Please paste the full text from the `/about` command run from Gemini CLI. Also include which platform (macOS, Windows, Linux).
33-
value: |
33+
label: 'Client information'
34+
description: 'Please paste the full text from the `/about` command run from Gemini CLI. Also include which platform (macOS, Windows, Linux).'
35+
value: |-
3436
<details>
3537
3638
```console
@@ -42,14 +44,14 @@ body:
4244
validations:
4345
required: true
4446

45-
- type: textarea
46-
id: login-info
47+
- type: 'textarea'
48+
id: 'login-info'
4749
attributes:
48-
label: Login information
49-
description: Describe how you are logging in (e.g., Google Account, API key).
50+
label: 'Login information'
51+
description: 'Describe how you are logging in (e.g., Google Account, API key).'
5052

51-
- type: textarea
52-
id: additional-context
53+
- type: 'textarea'
54+
id: 'additional-context'
5355
attributes:
54-
label: Anything else we need to know?
55-
description: Add any other context about the problem here.
56+
label: 'Anything else we need to know?'
57+
description: 'Add any other context about the problem here.'
Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,35 @@
1-
name: Feature Request
2-
description: Suggest an idea for this project
3-
labels: ['kind/enhancement', 'status/need-triage']
1+
name: 'Feature Request'
2+
description: 'Suggest an idea for this project'
3+
labels:
4+
- 'kind/enhancement'
5+
- 'status/need-triage'
46
body:
5-
- type: markdown
7+
- type: 'markdown'
68
attributes:
7-
value: |
8-
> [!IMPORTANT]
9+
value: |-
10+
> [!IMPORTANT]
911
> Thanks for taking the time to suggest an enhancement!
1012
>
1113
> Please search **[existing issues](https://github.com/google-gemini/gemini-cli/issues)** to see if a similar feature has already been requested.
1214
13-
- type: textarea
14-
id: feature
15+
- type: 'textarea'
16+
id: 'feature'
1517
attributes:
16-
label: What would you like to be added?
17-
description: A clear and concise description of the enhancement.
18+
label: 'What would you like to be added?'
19+
description: 'A clear and concise description of the enhancement.'
1820
validations:
1921
required: true
2022

21-
- type: textarea
22-
id: rationale
23+
- type: 'textarea'
24+
id: 'rationale'
2325
attributes:
24-
label: Why is this needed?
25-
description: A clear and concise description of why this enhancement is needed.
26+
label: 'Why is this needed?'
27+
description: 'A clear and concise description of why this enhancement is needed.'
2628
validations:
2729
required: true
2830

29-
- type: textarea
30-
id: additional-context
31+
- type: 'textarea'
32+
id: 'additional-context'
3133
attributes:
32-
label: Additional context
33-
description: Add any other context or screenshots about the feature request here.
34+
label: 'Additional context'
35+
description: 'Add any other context or screenshots about the feature request here.'

.github/actions/post-coverage-comment/action.yml

Lines changed: 67 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -27,79 +27,88 @@ inputs:
2727
runs:
2828
using: 'composite'
2929
steps:
30-
- name: Prepare Coverage Comment
31-
id: prep_coverage_comment
32-
shell: bash
33-
run: |
34-
cli_json_file="${{ inputs.cli_json_file }}"
35-
core_json_file="${{ inputs.core_json_file }}"
36-
cli_full_text_summary_file="${{ inputs.cli_full_text_summary_file }}"
37-
core_full_text_summary_file="${{ inputs.core_full_text_summary_file }}"
38-
comment_file="coverage-comment.md"
39-
30+
- name: 'Prepare Coverage Comment'
31+
id: 'prep_coverage_comment'
32+
shell: 'bash'
33+
env:
34+
CLI_JSON_FILE: '${{ inputs.cli_json_file }}'
35+
CORE_JSON_FILE: '${{ inputs.core_json_file }}'
36+
CLI_FULL_TEXT_SUMMARY_FILE: '${{ inputs.cli_full_text_summary_file }}'
37+
CORE_FULL_TEXT_SUMMARY_FILE: '${{ inputs.core_full_text_summary_file }}'
38+
COMMENT_FILE: 'coverage-comment.md'
39+
NODE_VERSION: '${{ inputs.node_version }}'
40+
OS: '${{ inputs.os }}'
41+
run: |-
4042
# Extract percentages using jq for the main table
41-
if [ -f "$cli_json_file" ]; then
42-
cli_lines_pct=$(jq -r '.total.lines.pct' "$cli_json_file")
43-
cli_statements_pct=$(jq -r '.total.statements.pct' "$cli_json_file")
44-
cli_functions_pct=$(jq -r '.total.functions.pct' "$cli_json_file")
45-
cli_branches_pct=$(jq -r '.total.branches.pct' "$cli_json_file")
43+
if [ -f "${CLI_JSON_FILE}" ]; then
44+
cli_lines_pct="$(jq -r '.total.lines.pct' "${CLI_JSON_FILE}")"
45+
cli_statements_pct="$(jq -r '.total.statements.pct' "${CLI_JSON_FILE}")"
46+
cli_functions_pct="$(jq -r '.total.functions.pct' "${CLI_JSON_FILE}")"
47+
cli_branches_pct="$(jq -r '.total.branches.pct' "${CLI_JSON_FILE}")"
4648
else
47-
cli_lines_pct="N/A"; cli_statements_pct="N/A"; cli_functions_pct="N/A"; cli_branches_pct="N/A"
48-
echo "CLI coverage-summary.json not found at: $cli_json_file" >&2 # Error to stderr
49+
cli_lines_pct="N/A"
50+
cli_statements_pct="N/A"
51+
cli_functions_pct="N/A"
52+
cli_branches_pct="N/A"
53+
echo "CLI coverage-summary.json not found at: ${CLI_JSON_FILE}" >&2 # Error to stderr
4954
fi
5055
51-
if [ -f "$core_json_file" ]; then
52-
core_lines_pct=$(jq -r '.total.lines.pct' "$core_json_file")
53-
core_statements_pct=$(jq -r '.total.statements.pct' "$core_json_file")
54-
core_functions_pct=$(jq -r '.total.functions.pct' "$core_json_file")
55-
core_branches_pct=$(jq -r '.total.branches.pct' "$core_json_file")
56+
if [ -f "${CORE_JSON_FILE}" ]; then
57+
core_lines_pct="$(jq -r '.total.lines.pct' "${CORE_JSON_FILE}")"
58+
core_statements_pct="$(jq -r '.total.statements.pct' "${CORE_JSON_FILE}")"
59+
core_functions_pct="$(jq -r '.total.functions.pct' "${CORE_JSON_FILE}")"
60+
core_branches_pct="$(jq -r '.total.branches.pct' "${CORE_JSON_FILE}")"
5661
else
57-
core_lines_pct="N/A"; core_statements_pct="N/A"; core_functions_pct="N/A"; core_branches_pct="N/A"
58-
echo "Core coverage-summary.json not found at: $core_json_file" >&2 # Error to stderr
62+
core_lines_pct="N/A"
63+
core_statements_pct="N/A"
64+
core_functions_pct="N/A"
65+
core_branches_pct="N/A"
66+
echo "Core coverage-summary.json not found at: ${CORE_JSON_FILE}" >&2 # Error to stderr
5967
fi
6068
61-
echo "## Code Coverage Summary" > "$comment_file"
62-
echo "" >> "$comment_file"
63-
echo "| Package | Lines | Statements | Functions | Branches |" >> "$comment_file"
64-
echo "|---|---|---|---|---|" >> "$comment_file"
65-
echo "| CLI | ${cli_lines_pct}% | ${cli_statements_pct}% | ${cli_functions_pct}% | ${cli_branches_pct}% |" >> "$comment_file"
66-
echo "| Core | ${core_lines_pct}% | ${core_statements_pct}% | ${core_functions_pct}% | ${core_branches_pct}% |" >> "$comment_file"
67-
echo "" >> "$comment_file"
69+
echo "## Code Coverage Summary" > "${COMMENT_FILE}"
70+
echo "" >> "${COMMENT_FILE}"
71+
echo "| Package | Lines | Statements | Functions | Branches |" >> "${COMMENT_FILE}"
72+
echo "|---|---|---|---|---|" >> "${COMMENT_FILE}"
73+
echo "| CLI | ${cli_lines_pct}% | ${cli_statements_pct}% | ${cli_functions_pct}% | ${cli_branches_pct}% |" >> "${COMMENT_FILE}"
74+
echo "| Core | ${core_lines_pct}% | ${core_statements_pct}% | ${core_functions_pct}% | ${core_branches_pct}% |" >> "${COMMENT_FILE}"
75+
echo "" >> "${COMMENT_FILE}"
6876
6977
# CLI Package - Collapsible Section (with full text summary from file)
70-
echo "<details>" >> "$comment_file"
71-
echo "<summary>CLI Package - Full Text Report</summary>" >> "$comment_file"
72-
echo "" >> "$comment_file"
73-
echo '```text' >> "$comment_file"
74-
if [ -f "$cli_full_text_summary_file" ]; then
75-
cat "$cli_full_text_summary_file" >> "$comment_file"
78+
echo "<details>" >> "${COMMENT_FILE}"
79+
echo "<summary>CLI Package - Full Text Report</summary>" >> "${COMMENT_FILE}"
80+
echo "" >> "${COMMENT_FILE}"
81+
echo '```text' >> "${COMMENT_FILE}"
82+
if [ -f "${CLI_FULL_TEXT_SUMMARY_FILE}" ]; then
83+
cat "${CLI_FULL_TEXT_SUMMARY_FILE}" >> "${COMMENT_FILE}"
7684
else
77-
echo "CLI full-text-summary.txt not found at: $cli_full_text_summary_file" >> "$comment_file"
85+
echo "CLI full-text-summary.txt not found at: ${CLI_FULL_TEXT_SUMMARY_FILE}" >> "${COMMENT_FILE}"
7886
fi
79-
echo '```' >> "$comment_file"
80-
echo "</details>" >> "$comment_file"
81-
echo "" >> "$comment_file"
87+
echo '```' >> "${COMMENT_FILE}"
88+
echo "</details>" >> "${COMMENT_FILE}"
89+
echo "" >> "${COMMENT_FILE}"
8290
8391
# Core Package - Collapsible Section (with full text summary from file)
84-
echo "<details>" >> "$comment_file"
85-
echo "<summary>Core Package - Full Text Report</summary>" >> "$comment_file"
86-
echo "" >> "$comment_file"
87-
echo '```text' >> "$comment_file"
88-
if [ -f "$core_full_text_summary_file" ]; then
89-
cat "$core_full_text_summary_file" >> "$comment_file"
92+
echo "<details>" >> "${COMMENT_FILE}"
93+
echo "<summary>Core Package - Full Text Report</summary>" >> "${COMMENT_FILE}"
94+
echo "" >> "${COMMENT_FILE}"
95+
echo '```text' >> "${COMMENT_FILE}"
96+
if [ -f "${CORE_FULL_TEXT_SUMMARY_FILE}" ]; then
97+
cat "${CORE_FULL_TEXT_SUMMARY_FILE}" >> "${COMMENT_FILE}"
9098
else
91-
echo "Core full-text-summary.txt not found at: $core_full_text_summary_file" >> "$comment_file"
99+
echo "Core full-text-summary.txt not found at: ${CORE_FULL_TEXT_SUMMARY_FILE}" >> "${COMMENT_FILE}"
92100
fi
93-
echo '```' >> "$comment_file"
94-
echo "</details>" >> "$comment_file"
95-
echo "" >> "$comment_file"
101+
echo '```' >> "${COMMENT_FILE}"
102+
echo "</details>" >> "${COMMENT_FILE}"
103+
echo "" >> "${COMMENT_FILE}"
96104
97-
echo "_For detailed HTML reports, please see the 'coverage-reports-${{ inputs.node_version }}-${{ inputs.os }}' artifact from the main CI run._" >> "$comment_file"
105+
echo "_For detailed HTML reports, please see the 'coverage-reports-${NODE_VERSION}-${OS}' artifact from the main CI run._" >> "${COMMENT_FILE}"
98106
99-
- name: Post Coverage Comment
100-
uses: thollander/actions-comment-pull-request@v3
101-
if: always()
107+
- name: 'Post Coverage Comment'
108+
uses: 'thollander/actions-comment-pull-request@65f9e5c9a1f2cd378bd74b2e057c9736982a8e74' # ratchet:thollander/actions-comment-pull-request@v3
109+
if: |-
110+
${{ always() }}
102111
with:
103-
file-path: coverage-comment.md # Use the generated file directly
104-
comment-tag: code-coverage-summary
105-
github-token: ${{ inputs.github_token }}
112+
file-path: 'coverage-comment.md' # Use the generated file directly
113+
comment-tag: 'code-coverage-summary'
114+
github-token: '${{ inputs.github_token }}'

.github/dependabot.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# See https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
2+
version: 2
3+
updates:
4+
- package-ecosystem: 'npm'
5+
directory: '/'
6+
schedule:
7+
interval: 'daily'
8+
target-branch: 'main'
9+
commit-message:
10+
prefix: 'chore(deps)'
11+
include: 'scope'
12+
reviewers:
13+
- 'google-gemini/gemini-cli-askmode-approvers'
14+
groups:
15+
# Group all non-major updates together.
16+
# This is to reduce the number of PRs that need to be reviewed.
17+
# Major updates will still be created as separate PRs.
18+
npm-minor-patch:
19+
applies-to: 'version-updates'
20+
update-types:
21+
- 'minor'
22+
- 'patch'
23+
open-pull-requests-limit: 0
24+
25+
- package-ecosystem: 'github-actions'
26+
directory: '/'
27+
schedule:
28+
interval: 'daily'
29+
target-branch: 'main'
30+
commit-message:
31+
prefix: 'chore(deps)'
32+
include: 'scope'
33+
reviewers:
34+
- 'google-gemini/gemini-cli-askmode-approvers'
35+
open-pull-requests-limit: 0

0 commit comments

Comments
 (0)