Skip to content

Commit 0dbb38d

Browse files
committed
feat: add optional new parameter gemini_cli_package and variable GEMINI_CLI_PACKAGE
- defaults to '@google/gemini-cli' fixes #487
1 parent 921e068 commit 0dbb38d

File tree

7 files changed

+17
-3
lines changed

7 files changed

+17
-3
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,8 @@ go to the [Gemini Assistant workflow documentation](./examples/workflows/gemini-
167167

168168
- <a name="__input_gemini_api_key"></a><a href="#user-content-__input_gemini_api_key"><code>gemini_api_key</code></a>: _(Optional)_ The API key for the Gemini API.
169169

170+
- <a name="__input_gemini_cli_package"></a><a href="#user-content-__input_gemini_cli_package"><code>gemini_cli_package</code></a>: _(Optional, default: `@google/gemini-cli`)_ The package name of the Gemini CLI to install.
171+
170172
- <a name="__input_gemini_cli_version"></a><a href="#user-content-__input_gemini_cli_version"><code>gemini_cli_version</code></a>: _(Optional, default: `latest`)_ The version of the Gemini CLI to install. Can be "latest", "preview", "nightly", a specific version number, or a git branch, tag, or commit. For more information, see [Gemini CLI releases](https://github.com/google-gemini/gemini-cli/blob/main/docs/releases.md).
171173

172174
- <a name="__input_gemini_debug"></a><a href="#user-content-__input_gemini_debug"><code>gemini_debug</code></a>: _(Optional)_ Enable debug logging and output streaming.
@@ -218,6 +220,7 @@ We recommend setting the following values as repository variables so they can be
218220
| Name | Description | Type | Required | When Required |
219221
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | -------- | -------- | ------------------------------ |
220222
| `GEMINI_DEBUG` | Enables debug logging for the Gemini CLI. | Variable | No | Never |
223+
| `GEMINI_CLI_PACKAGE` | Controls which package of the Gemini CLI is installed. | Variable | No | Custom CLI package |
221224
| `GEMINI_CLI_VERSION` | Controls which version of the Gemini CLI is installed. | Variable | No | Pinning the CLI version |
222225
| `GCP_WIF_PROVIDER` | Full resource name of the Workload Identity Provider. | Variable | No | Using Google Cloud |
223226
| `GOOGLE_CLOUD_PROJECT` | Google Cloud project for inference and observability. | Variable | No | Using Google Cloud |

action.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ inputs:
4141
gemini_api_key:
4242
description: 'The API key for the Gemini API.'
4343
required: false
44+
gemini_cli_package:
45+
description: 'The package name of the Gemini CLI to install.'
46+
required: false
47+
default: '@google/gemini-cli'
4448
gemini_cli_version:
4549
description: 'The version of the Gemini CLI to install. Can be "latest", "preview", "nightly", a specific version number, or a git branch, tag, or commit. For more information, see [Gemini CLI releases](https://github.com/google-gemini/gemini-cli/blob/main/docs/releases.md).'
4650
required: false
@@ -236,6 +240,7 @@ runs:
236240
- name: 'Install Gemini CLI'
237241
id: 'install'
238242
env:
243+
GEMINI_CLI_PACKAGE: '${{ inputs.gemini_cli_package }}'
239244
GEMINI_CLI_VERSION: '${{ inputs.gemini_cli_version }}'
240245
EXTENSIONS: '${{ inputs.extensions }}'
241246
USE_PNPM: '${{ inputs.use_pnpm }}'
@@ -247,14 +252,15 @@ runs:
247252
run: |-
248253
set -euo pipefail
249254
255+
PACKAGE_NAME="${GEMINI_CLI_PACKAGE:-@google/gemini-cli}"
250256
VERSION_INPUT="${GEMINI_CLI_VERSION:-latest}"
251257
252258
if [[ "${VERSION_INPUT}" == "latest" || "${VERSION_INPUT}" == "preview" || "${VERSION_INPUT}" == "nightly" || "${VERSION_INPUT}" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9\.-]+)?(\+[a-zA-Z0-9\.-]+)?$ ]]; then
253-
echo "Installing Gemini CLI from npm: @google/gemini-cli@${VERSION_INPUT}"
259+
echo "Installing Gemini CLI from npm: ${PACKAGE_NAME}@${VERSION_INPUT}"
254260
if [[ "${USE_PNPM}" == "true" ]]; then
255-
pnpm add --silent --global @google/gemini-cli@"${VERSION_INPUT}"
261+
pnpm add --silent --global "${PACKAGE_NAME}@${VERSION_INPUT}"
256262
else
257-
npm install --silent --no-audit --prefer-offline --global @google/gemini-cli@"${VERSION_INPUT}"
263+
npm install --silent --no-audit --prefer-offline --global "${PACKAGE_NAME}@${VERSION_INPUT}"
258264
fi
259265
else
260266
echo "Installing Gemini CLI from GitHub: github:google-gemini/gemini-cli#${VERSION_INPUT}"

examples/workflows/gemini-assistant/gemini-invoke.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ jobs:
5858
gcp_service_account: '${{ vars.SERVICE_ACCOUNT_EMAIL }}'
5959
gcp_workload_identity_provider: '${{ vars.GCP_WIF_PROVIDER }}'
6060
gemini_api_key: '${{ secrets.GEMINI_API_KEY }}'
61+
gemini_cli_package: '${{ vars.GEMINI_CLI_PACKAGE }}'
6162
gemini_cli_version: '${{ vars.GEMINI_CLI_VERSION }}'
6263
gemini_debug: '${{ fromJSON(vars.GEMINI_DEBUG || vars.ACTIONS_STEP_DEBUG || false) }}'
6364
gemini_model: '${{ vars.GEMINI_MODEL }}'

examples/workflows/gemini-assistant/gemini-plan-execute.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ jobs:
6060
gcp_service_account: '${{ vars.SERVICE_ACCOUNT_EMAIL }}'
6161
gcp_workload_identity_provider: '${{ vars.GCP_WIF_PROVIDER }}'
6262
gemini_api_key: '${{ secrets.GEMINI_API_KEY }}'
63+
gemini_cli_package: '${{ vars.GEMINI_CLI_PACKAGE }}'
6364
gemini_cli_version: '${{ vars.GEMINI_CLI_VERSION }}'
6465
gemini_debug: '${{ fromJSON(vars.GEMINI_DEBUG || vars.ACTIONS_STEP_DEBUG || false) }}'
6566
gemini_model: '${{ vars.GEMINI_MODEL }}'

examples/workflows/issue-triage/gemini-scheduled-triage.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ jobs:
104104
gcp_service_account: '${{ vars.SERVICE_ACCOUNT_EMAIL }}'
105105
gcp_workload_identity_provider: '${{ vars.GCP_WIF_PROVIDER }}'
106106
gemini_api_key: '${{ secrets.GEMINI_API_KEY }}'
107+
gemini_cli_package: '${{ vars.GEMINI_CLI_PACKAGE }}'
107108
gemini_cli_version: '${{ vars.GEMINI_CLI_VERSION }}'
108109
gemini_debug: '${{ fromJSON(vars.GEMINI_DEBUG || vars.ACTIONS_STEP_DEBUG || false) }}'
109110
gemini_model: '${{ vars.GEMINI_MODEL }}'

examples/workflows/issue-triage/gemini-triage.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ jobs:
7171
gcp_service_account: '${{ vars.SERVICE_ACCOUNT_EMAIL }}'
7272
gcp_workload_identity_provider: '${{ vars.GCP_WIF_PROVIDER }}'
7373
gemini_api_key: '${{ secrets.GEMINI_API_KEY }}'
74+
gemini_cli_package: '${{ vars.GEMINI_CLI_PACKAGE }}'
7475
gemini_cli_version: '${{ vars.GEMINI_CLI_VERSION }}'
7576
gemini_debug: '${{ fromJSON(vars.GEMINI_DEBUG || vars.ACTIONS_STEP_DEBUG || false) }}'
7677
gemini_model: '${{ vars.GEMINI_MODEL }}'

examples/workflows/pr-review/gemini-review.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ jobs:
5858
gcp_service_account: '${{ vars.SERVICE_ACCOUNT_EMAIL }}'
5959
gcp_workload_identity_provider: '${{ vars.GCP_WIF_PROVIDER }}'
6060
gemini_api_key: '${{ secrets.GEMINI_API_KEY }}'
61+
gemini_cli_package: '${{ vars.GEMINI_CLI_PACKAGE }}'
6162
gemini_cli_version: '${{ vars.GEMINI_CLI_VERSION }}'
6263
gemini_debug: '${{ fromJSON(vars.GEMINI_DEBUG || vars.ACTIONS_STEP_DEBUG || false) }}'
6364
gemini_model: '${{ vars.GEMINI_MODEL }}'

0 commit comments

Comments
 (0)