Skip to content

Comments

🚀 Automate GCP deploy with GitHub Actions + OIDC#16

Merged
gepser merged 1 commit intomasterfrom
feature/gcp-auto-deploy
Feb 22, 2026
Merged

🚀 Automate GCP deploy with GitHub Actions + OIDC#16
gepser merged 1 commit intomasterfrom
feature/gcp-auto-deploy

Conversation

@gepser
Copy link
Owner

@gepser gepser commented Feb 22, 2026

✨ Summary

This PR implements automated deployment to Google Cloud Functions Gen2 using GitHub Actions and Workload Identity Federation (OIDC), so deploys no longer depend on manual local commands.

Closes #15

✅ Changes

  • Added deploy workflow:
    • .github/workflows/deploy.yml
    • Triggers on push to master and workflow_dispatch
    • Uses google-github-actions/auth@v3
    • Uses google-github-actions/deploy-cloud-functions@v4
    • Includes post-deploy smoke test step
  • Improved smoke script portability:
    • scripts/smoke.sh
    • Supports both base-domain mode and direct function URL mode via PROGRESS_PATH
  • Expanded README setup docs:
    • README.md
    • Added OIDC/WIF one-time setup steps
    • Added required GitHub repository variables
    • Added automated deploy workflow usage

🧪 Validation

  • mise exec -- make check
  • Local smoke test (root base URL mode):
    • BASE_URL=http://localhost:8080 bash ./scripts/smoke.sh
  • Local smoke test (direct function URL mode):
    • BASE_URL=http://localhost:8080/progress PROGRESS_PATH="" bash ./scripts/smoke.sh

🔐 Security posture

  • No long-lived JSON credentials.
  • Deploy uses GitHub OIDC + Workload Identity Federation only.
  • Scoped to repository-level identity binding (documented in README).

@gepser gepser merged commit 79d4f1f into master Feb 22, 2026
2 checks passed
@gepser gepser deleted the feature/gcp-auto-deploy branch February 22, 2026 22:17
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.

Automate deploy to Google Cloud Functions Gen2 from GitHub Actions

1 participant