Skip to content

chore(ci): 馃敀 migrate GitHub Actions auth to WIF - #641

Merged
vdelacruzb merged 2 commits into
mainfrom
chore/security/wif-carto-at-gh-actions
Sep 24, 2026
Merged

vdelacruzb merged 2 commits into
mainfrom
chore/security/wif-carto-at-gh-actions

Conversation

@miguelangelmorenochacon

Copy link
Copy Markdown
Contributor

What

Switch the carto-at-gh-actions auth steps to keyless Workload Identity Federation across databricks.yml, databricks-ded.yml, oracle.yml, oracle-ded.yml, snowflake.yml.

Why

Follow-up to CartoDB/carto-infrastructure#680, which provisions the WIF provider github-analytics-toolbox (allows CartoDB/analytics-toolbox + -core) and binds carto-at-gh-actions. Removes the long-lived exportable key.

Changes

  • Replace credentials_json with workload_identity_provider + service_account.
  • Add id-token: write to each affected job; *-ded.yml jobs also keep pull-requests: write (they post PR comments via GITHUB_TOKEN).
  • Only the carto-at-gh-actions steps change; other SAs (GCLOUD_PRODUCTION_RELEASE_SA, BQCARTO*) are untouched.

Notes

  • The migrated key was stored in secret CARTO_AT_GH_ACTIONS_SERVICE_ACCOUNT_KEY (not the IaC-provisioned name); WIF removes the need for either.

Ordering

鈿狅笍 Merge after carto-infrastructure#680 is applied. Static key deleted in a later follow-up once green.

馃 Generated with Claude Code

Replace the static key of carto-at-gh-actions (secret
CARTO_AT_GH_ACTIONS_SERVICE_ACCOUNT_KEY) with keyless WIF across the
databricks/oracle/snowflake workflows. Follow-up to
CartoDB/carto-infrastructure#680.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vdelacruzb
vdelacruzb marked this pull request as ready for review September 24, 2026 05:34
@vdelacruzb
vdelacruzb requested a review from a team as a code owner September 24, 2026 05:34

@vdelacruzb vdelacruzb left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! I check that these IDs are harmless but still placed them in secrets as we do we other yml variables.

@vdelacruzb
vdelacruzb merged commit 2b8eeda into main Sep 24, 2026
19 checks passed
@vdelacruzb vdelacruzb mentioned this pull request Sep 24, 2026
vdelacruzb added a commit that referenced this pull request Sep 24, 2026
### Changelog

- chore(sf): remove the broken h3_fromlonglat JS library entry [sc-569993] (#647)
- chore(sf): connect lazily in the Snowflake test harness [sc-570150] (#648)
- chore(sf): ship JavaScript source maps in the native app package [sc-571986] (#649)
- fix(sf,pg,ora,bq): insert every replacement literally when building SQL [sc-572077] (#650)
- fix(db): renew the Databricks token instead of minting it once per job (#652)
- chore(deps): bump sqlparse from 0.5.4 to 0.6.0 (#642, #643, #644)
- refactor: migrate gsutil to gcloud storage [sc-574714] (#651)
- chore(ci): migrate GitHub Actions auth to WIF (#641)

### Version

No package changes. Every commit this cycle is build, CI or test-harness work, so no
provider version moves and nothing publishes; this release syncs stable and records
the changelog.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
vdelacruzb added a commit that referenced this pull request Sep 24, 2026
### Changelog

- chore(sf): remove the broken h3_fromlonglat JS library entry (#647)
- chore(sf): connect lazily in the Snowflake test harness (#648)
- chore(sf): ship JavaScript source maps in the native app package (#649)
- fix(sf,pg,ora,bq): insert every replacement literally when building SQL (#650)
- fix(db): renew the Databricks token instead of minting it once per job (#652)
- chore(deps): bump sqlparse from 0.5.4 to 0.6.0 (#642, #643, #644)
- refactor: migrate gsutil to gcloud storage (#651)
- chore(ci): migrate GitHub Actions auth to WIF (#641)

### Version

No package changes. Every commit this cycle is build, CI or test-harness work, so no
provider version moves and nothing publishes; this release syncs stable and records
the changelog.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants