Problem
Deploy is currently manual via gcloud functions deploy, so releases depend on local steps and can drift from the repository state.
Goal
Deploy automatically to Google Cloud Functions Gen2 when changes are merged to master.
Proposed solution
Create a GitHub Actions deploy workflow using Workload Identity Federation (OIDC) and the official Google GitHub Actions.
Scope
- Add
.github/workflows/deploy.yml.
- Trigger on push to
master and workflow_dispatch.
- Use
google-github-actions/auth with workload identity provider + service account.
- Deploy function
progress in project progress-markdown, region us-central1, runtime go124, entry point Progress.
- Add optional post-deploy smoke test step (reusing
scripts/smoke.sh).
- Document required GitHub repository secrets/variables and one-time GCP IAM setup.
Acceptance criteria
- Merge to
master triggers deploy workflow automatically.
- Workflow can also be run manually.
- Deployment succeeds without long-lived JSON keys.
- README includes setup instructions for GitHub-to-GCP auth and deploy automation.
Notes
Use OIDC/WIF only (no service account key files).
Problem
Deploy is currently manual via
gcloud functions deploy, so releases depend on local steps and can drift from the repository state.Goal
Deploy automatically to Google Cloud Functions Gen2 when changes are merged to
master.Proposed solution
Create a GitHub Actions deploy workflow using Workload Identity Federation (OIDC) and the official Google GitHub Actions.
Scope
.github/workflows/deploy.yml.masterandworkflow_dispatch.google-github-actions/authwith workload identity provider + service account.progressin projectprogress-markdown, regionus-central1, runtimego124, entry pointProgress.scripts/smoke.sh).Acceptance criteria
mastertriggers deploy workflow automatically.Notes
Use OIDC/WIF only (no service account key files).