From 08bc73a7b2379d56b358b3bd58f66d69490e173e Mon Sep 17 00:00:00 2001 From: Jainam Madan Date: Wed, 12 Nov 2025 05:53:40 +0000 Subject: [PATCH 1/3] feat(telemetry): set GHA_NAME dynamically from workflow Sets the GHA_NAME environment variable for the Gemini CLI action to the name of the executing workflow. This makes the telemetry data more accurate and easier to filter. A new step is added to sanitize the workflow name by removing emojis and leading/trailing whitespace, ensuring the GHA_NAME is a clean string. --- action.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/action.yml b/action.yml index 8fdaca624..073f480a1 100644 --- a/action.yml +++ b/action.yml @@ -156,6 +156,16 @@ runs: INPUT_USE_VERTEX_AI: '${{ inputs.use_vertex_ai }}' INPUT_USE_GEMINI_CODE_ASSIST: '${{ inputs.use_gemini_code_assist }}' + - name: 'Sanitize workflow name' + id: 'sanitize_workflow_name' + shell: 'bash' + run: | + SANITIZED=$(echo "${RAW_WORKFLOW_NAME}" | sed 's/[^ a-zA-Z0-9-]//g' | xargs | tr ' ' '_' | tr '[:upper:]' '[:lower:]') + echo "gh_workflow_name=$SANITIZED" >> $GITHUB_OUTPUT + env: + RAW_WORKFLOW_NAME: '${{ github.workflow }}' + + - name: 'Configure Gemini CLI' if: |- ${{ inputs.settings != '' }} @@ -297,6 +307,7 @@ runs: GOOGLE_CLOUD_ACCESS_TOKEN: '${{steps.auth.outputs.access_token}}' PROMPT: '${{ inputs.prompt }}' GEMINI_MODEL: '${{ inputs.gemini_model }}' + GH_WORKFLOW_NAME: '${{ steps.sanitize_workflow_name.outputs.gh_workflow_name }}' - name: 'Upload Gemini CLI outputs' if: |- From cec987d41a1e7057732a28d4c0e887450681d54e Mon Sep 17 00:00:00 2001 From: Jainam Madan Date: Thu, 13 Nov 2025 06:34:53 +0000 Subject: [PATCH 2/3] Accept workflow name and default to {{ github.workflow }} {{ github.workflow }} is the first workflow that github action triggers. In our case it is dispatch workflow. This hides the underlying specific workflow names like triage and review. This commit explicitly passes the workflow name for accurate telemetry. --- action.yml | 7 +++++-- examples/workflows/gemini-assistant/gemini-invoke.yml | 1 + .../workflows/issue-triage/gemini-scheduled-triage.yml | 1 + examples/workflows/issue-triage/gemini-triage.yml | 1 + examples/workflows/pr-review/gemini-review.yml | 1 + 5 files changed, 9 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index 9e4678be6..f60f22fd5 100644 --- a/action.yml +++ b/action.yml @@ -87,6 +87,10 @@ inputs: description: 'Whether or not to use pnpm instead of npm to install gemini-cli' required: false default: 'false' + raw_workflow_name: + description: 'The raw GitHub workflow name, used for telemetry purposes.' + required: false + default: '${{ github.workflow }}' outputs: summary: @@ -181,8 +185,7 @@ runs: SANITIZED=$(echo "${RAW_WORKFLOW_NAME}" | sed 's/[^ a-zA-Z0-9-]//g' | xargs | tr ' ' '_' | tr '[:upper:]' '[:lower:]') echo "gh_workflow_name=$SANITIZED" >> $GITHUB_OUTPUT env: - RAW_WORKFLOW_NAME: '${{ github.workflow }}' - + RAW_WORKFLOW_NAME: '${{ inputs.raw_workflow_name }}' - name: 'Configure Gemini CLI' if: |- diff --git a/examples/workflows/gemini-assistant/gemini-invoke.yml b/examples/workflows/gemini-assistant/gemini-invoke.yml index 2b3ab9092..4c60b110a 100644 --- a/examples/workflows/gemini-assistant/gemini-invoke.yml +++ b/examples/workflows/gemini-assistant/gemini-invoke.yml @@ -62,6 +62,7 @@ jobs: use_gemini_code_assist: '${{ vars.GOOGLE_GENAI_USE_GCA }}' use_vertex_ai: '${{ vars.GOOGLE_GENAI_USE_VERTEXAI }}' upload_artifacts: '${{ vars.UPLOAD_ARTIFACTS }}' + raw_workflow_name: 'gemini-invoke' settings: |- { "model": { diff --git a/examples/workflows/issue-triage/gemini-scheduled-triage.yml b/examples/workflows/issue-triage/gemini-scheduled-triage.yml index 6efe8a1cf..277d48519 100644 --- a/examples/workflows/issue-triage/gemini-scheduled-triage.yml +++ b/examples/workflows/issue-triage/gemini-scheduled-triage.yml @@ -108,6 +108,7 @@ jobs: use_gemini_code_assist: '${{ vars.GOOGLE_GENAI_USE_GCA }}' use_vertex_ai: '${{ vars.GOOGLE_GENAI_USE_VERTEXAI }}' upload_artifacts: '${{ vars.UPLOAD_ARTIFACTS }}' + raw_workflow_name: 'gemini-scheduled-triage' settings: |- { "model": { diff --git a/examples/workflows/issue-triage/gemini-triage.yml b/examples/workflows/issue-triage/gemini-triage.yml index f2a412351..f497829c1 100644 --- a/examples/workflows/issue-triage/gemini-triage.yml +++ b/examples/workflows/issue-triage/gemini-triage.yml @@ -78,6 +78,7 @@ jobs: use_gemini_code_assist: '${{ vars.GOOGLE_GENAI_USE_GCA }}' use_vertex_ai: '${{ vars.GOOGLE_GENAI_USE_VERTEXAI }}' upload_artifacts: '${{ vars.UPLOAD_ARTIFACTS }}' + raw_workflow_name: 'gemini-triage' settings: |- { "model": { diff --git a/examples/workflows/pr-review/gemini-review.yml b/examples/workflows/pr-review/gemini-review.yml index e2910a872..77c52a4d5 100644 --- a/examples/workflows/pr-review/gemini-review.yml +++ b/examples/workflows/pr-review/gemini-review.yml @@ -64,6 +64,7 @@ jobs: use_gemini_code_assist: '${{ vars.GOOGLE_GENAI_USE_GCA }}' use_vertex_ai: '${{ vars.GOOGLE_GENAI_USE_VERTEXAI }}' upload_artifacts: '${{ vars.UPLOAD_ARTIFACTS }}' + raw_workflow_name: 'gemini-review' settings: |- { "model": { From c1c9e78e9d013ee0ddc5e8cbc609769d4a89d667 Mon Sep 17 00:00:00 2001 From: Jainam Madan Date: Thu, 13 Nov 2025 16:32:58 +0000 Subject: [PATCH 3/3] Updating .github, README.md and env var name --- .github/workflows/gemini-invoke.yml | 1 + .github/workflows/gemini-review.yml | 1 + .github/workflows/gemini-scheduled-triage.yml | 1 + .github/workflows/gemini-triage.yml | 1 + README.md | 2 ++ action.yml | 8 ++++---- examples/workflows/gemini-assistant/gemini-invoke.yml | 2 +- .../workflows/issue-triage/gemini-scheduled-triage.yml | 2 +- examples/workflows/issue-triage/gemini-triage.yml | 2 +- examples/workflows/pr-review/gemini-review.yml | 2 +- 10 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.github/workflows/gemini-invoke.yml b/.github/workflows/gemini-invoke.yml index 369669c33..f27e96a1e 100644 --- a/.github/workflows/gemini-invoke.yml +++ b/.github/workflows/gemini-invoke.yml @@ -62,6 +62,7 @@ jobs: use_gemini_code_assist: '${{ vars.GOOGLE_GENAI_USE_GCA }}' use_vertex_ai: '${{ vars.GOOGLE_GENAI_USE_VERTEXAI }}' upload_artifacts: '${{ vars.UPLOAD_ARTIFACTS }}' + workflow_name: 'gemini-invoke' settings: |- { "model": { diff --git a/.github/workflows/gemini-review.yml b/.github/workflows/gemini-review.yml index 9b16d6883..c3ec70d4b 100644 --- a/.github/workflows/gemini-review.yml +++ b/.github/workflows/gemini-review.yml @@ -64,6 +64,7 @@ jobs: use_gemini_code_assist: '${{ vars.GOOGLE_GENAI_USE_GCA }}' use_vertex_ai: '${{ vars.GOOGLE_GENAI_USE_VERTEXAI }}' upload_artifacts: '${{ vars.UPLOAD_ARTIFACTS }}' + workflow_name: 'gemini-review' settings: |- { "model": { diff --git a/.github/workflows/gemini-scheduled-triage.yml b/.github/workflows/gemini-scheduled-triage.yml index 0e77935c0..96d9db070 100644 --- a/.github/workflows/gemini-scheduled-triage.yml +++ b/.github/workflows/gemini-scheduled-triage.yml @@ -108,6 +108,7 @@ jobs: use_gemini_code_assist: '${{ vars.GOOGLE_GENAI_USE_GCA }}' use_vertex_ai: '${{ vars.GOOGLE_GENAI_USE_VERTEXAI }}' upload_artifacts: '${{ vars.UPLOAD_ARTIFACTS }}' + workflow_name: 'gemini-scheduled-triage' settings: |- { "model": { diff --git a/.github/workflows/gemini-triage.yml b/.github/workflows/gemini-triage.yml index 42a91403b..c5acc968c 100644 --- a/.github/workflows/gemini-triage.yml +++ b/.github/workflows/gemini-triage.yml @@ -78,6 +78,7 @@ jobs: use_gemini_code_assist: '${{ vars.GOOGLE_GENAI_USE_GCA }}' use_vertex_ai: '${{ vars.GOOGLE_GENAI_USE_VERTEXAI }}' upload_artifacts: '${{ vars.UPLOAD_ARTIFACTS }}' + workflow_name: 'gemini-triage' settings: |- { "model": { diff --git a/README.md b/README.md index 9dbf0da63..7247f2741 100644 --- a/README.md +++ b/README.md @@ -191,6 +191,8 @@ go to the [Gemini Assistant workflow documentation](./examples/workflows/gemini- - use_pnpm: _(Optional, default: `false`)_ Whether or not to use pnpm instead of npm to install gemini-cli +- workflow_name: _(Optional, default: `${{ github.workflow }}`)_ The GitHub workflow name, used for telemetry purposes. + diff --git a/action.yml b/action.yml index f60f22fd5..cabafabf9 100644 --- a/action.yml +++ b/action.yml @@ -87,8 +87,8 @@ inputs: description: 'Whether or not to use pnpm instead of npm to install gemini-cli' required: false default: 'false' - raw_workflow_name: - description: 'The raw GitHub workflow name, used for telemetry purposes.' + workflow_name: + description: 'The GitHub workflow name, used for telemetry purposes.' required: false default: '${{ github.workflow }}' @@ -182,10 +182,10 @@ runs: id: 'sanitize_workflow_name' shell: 'bash' run: | - SANITIZED=$(echo "${RAW_WORKFLOW_NAME}" | sed 's/[^ a-zA-Z0-9-]//g' | xargs | tr ' ' '_' | tr '[:upper:]' '[:lower:]') + SANITIZED=$(echo "${WORKFLOW_NAME}" | sed 's/[^ a-zA-Z0-9-]//g' | xargs | tr ' ' '_' | tr '[:upper:]' '[:lower:]') echo "gh_workflow_name=$SANITIZED" >> $GITHUB_OUTPUT env: - RAW_WORKFLOW_NAME: '${{ inputs.raw_workflow_name }}' + WORKFLOW_NAME: '${{ inputs.workflow_name }}' - name: 'Configure Gemini CLI' if: |- diff --git a/examples/workflows/gemini-assistant/gemini-invoke.yml b/examples/workflows/gemini-assistant/gemini-invoke.yml index 4c60b110a..e59e55deb 100644 --- a/examples/workflows/gemini-assistant/gemini-invoke.yml +++ b/examples/workflows/gemini-assistant/gemini-invoke.yml @@ -62,7 +62,7 @@ jobs: use_gemini_code_assist: '${{ vars.GOOGLE_GENAI_USE_GCA }}' use_vertex_ai: '${{ vars.GOOGLE_GENAI_USE_VERTEXAI }}' upload_artifacts: '${{ vars.UPLOAD_ARTIFACTS }}' - raw_workflow_name: 'gemini-invoke' + workflow_name: 'gemini-invoke' settings: |- { "model": { diff --git a/examples/workflows/issue-triage/gemini-scheduled-triage.yml b/examples/workflows/issue-triage/gemini-scheduled-triage.yml index 277d48519..46bb71f28 100644 --- a/examples/workflows/issue-triage/gemini-scheduled-triage.yml +++ b/examples/workflows/issue-triage/gemini-scheduled-triage.yml @@ -108,7 +108,7 @@ jobs: use_gemini_code_assist: '${{ vars.GOOGLE_GENAI_USE_GCA }}' use_vertex_ai: '${{ vars.GOOGLE_GENAI_USE_VERTEXAI }}' upload_artifacts: '${{ vars.UPLOAD_ARTIFACTS }}' - raw_workflow_name: 'gemini-scheduled-triage' + workflow_name: 'gemini-scheduled-triage' settings: |- { "model": { diff --git a/examples/workflows/issue-triage/gemini-triage.yml b/examples/workflows/issue-triage/gemini-triage.yml index f497829c1..581acbbf9 100644 --- a/examples/workflows/issue-triage/gemini-triage.yml +++ b/examples/workflows/issue-triage/gemini-triage.yml @@ -78,7 +78,7 @@ jobs: use_gemini_code_assist: '${{ vars.GOOGLE_GENAI_USE_GCA }}' use_vertex_ai: '${{ vars.GOOGLE_GENAI_USE_VERTEXAI }}' upload_artifacts: '${{ vars.UPLOAD_ARTIFACTS }}' - raw_workflow_name: 'gemini-triage' + workflow_name: 'gemini-triage' settings: |- { "model": { diff --git a/examples/workflows/pr-review/gemini-review.yml b/examples/workflows/pr-review/gemini-review.yml index 77c52a4d5..d3b43a15e 100644 --- a/examples/workflows/pr-review/gemini-review.yml +++ b/examples/workflows/pr-review/gemini-review.yml @@ -64,7 +64,7 @@ jobs: use_gemini_code_assist: '${{ vars.GOOGLE_GENAI_USE_GCA }}' use_vertex_ai: '${{ vars.GOOGLE_GENAI_USE_VERTEXAI }}' upload_artifacts: '${{ vars.UPLOAD_ARTIFACTS }}' - raw_workflow_name: 'gemini-review' + workflow_name: 'gemini-review' settings: |- { "model": {