From 0e22ceca091988a67fadc1f9bf094e0cb7d823b4 Mon Sep 17 00:00:00 2001 From: Marc Bernabeu Date: Thu, 28 May 2026 16:46:01 +0200 Subject: [PATCH 1/2] chore(ci): migrate Claude Code workflows to onesdata wrapper Replace direct references to `anthropics/claude-code-action@v1` with the org wrapper `onesdata/ops_workflows/.github/actions/claude-code-action@master` and pass `otel_token` so every Claude Code run in CI emits OTLP telemetry to the portal-apps claude_analytics dashboard. Files: util-claude-task.yml, util-claude.yml Lands separately from any content PR so the first run can clear the Claude App workflow-validation check. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/util-claude-task.yml | 2 +- .github/workflows/util-claude.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/util-claude-task.yml b/.github/workflows/util-claude-task.yml index b53730d93f178..0409259c8576c 100644 --- a/.github/workflows/util-claude-task.yml +++ b/.github/workflows/util-claude-task.yml @@ -127,7 +127,7 @@ jobs: - name: Run Claude id: claude continue-on-error: true - uses: anthropics/claude-code-action@d668cc452deb931732f24c6b1bbf24d97bc0c586 # v1 + uses: onesdata/ops_workflows/.github/actions/claude-code-action@master with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} github_token: ${{ steps.generate_token.outputs.token }} diff --git a/.github/workflows/util-claude.yml b/.github/workflows/util-claude.yml index 6644555c54b84..76e572b7be69f 100644 --- a/.github/workflows/util-claude.yml +++ b/.github/workflows/util-claude.yml @@ -30,7 +30,7 @@ jobs: fetch-depth: 1 - name: Run Claude PR Action - uses: anthropics/claude-code-action@d668cc452deb931732f24c6b1bbf24d97bc0c586 # v1 + uses: onesdata/ops_workflows/.github/actions/claude-code-action@master with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} # Or use OAuth token instead: From 2c61c34445af8555a6208c3d21152ff0da3f205d Mon Sep 17 00:00:00 2001 From: Marc Bernabeu Date: Thu, 28 May 2026 16:57:17 +0200 Subject: [PATCH 2/2] chore(ci): switch n8n-fork claude calls to OAuth + add otel_token Both util-claude workflows authenticated via `anthropic_api_key`, which meant they were the only outliers in the org and missed the auto-injected `otel_token` (the migration script anchored on `claude_code_oauth_token`). Switch to the same OAuth token the rest of the org uses so: - Telemetry attribution is consistent (user.email = marketing@onestic.com) - The wrapper's telemetry step actually fires - No special-case auth path in this repo Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/util-claude-task.yml | 3 ++- .github/workflows/util-claude.yml | 5 ++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/util-claude-task.yml b/.github/workflows/util-claude-task.yml index 0409259c8576c..fadbafe90c29a 100644 --- a/.github/workflows/util-claude-task.yml +++ b/.github/workflows/util-claude-task.yml @@ -129,7 +129,8 @@ jobs: continue-on-error: true uses: onesdata/ops_workflows/.github/actions/claude-code-action@master with: - anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} + claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} + otel_token: ${{ secrets.COLLECTOR_PORTAL_TOKEN }} github_token: ${{ steps.generate_token.outputs.token }} prompt: ${{ env.CLAUDE_PROMPT }} show_full_output: ${{ inputs.suppress_output != true }} diff --git a/.github/workflows/util-claude.yml b/.github/workflows/util-claude.yml index 76e572b7be69f..6843b023e7e71 100644 --- a/.github/workflows/util-claude.yml +++ b/.github/workflows/util-claude.yml @@ -32,9 +32,8 @@ jobs: - name: Run Claude PR Action uses: onesdata/ops_workflows/.github/actions/claude-code-action@master with: - anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} - # Or use OAuth token instead: - # claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} + claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} + otel_token: ${{ secrets.COLLECTOR_PORTAL_TOKEN }} timeout_minutes: '60' settings: | {